home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 March / PCWMAR09.iso / Software / Freeware / Adobe Media Player 1.6 / adobe_media_player.air / AMP.swf / scripts / mx / managers / SystemManager.as < prev    next >
Encoding:
Text File  |  2008-11-25  |  125.6 KB  |  3,700 lines

  1. package mx.managers
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.DisplayObjectContainer;
  5.    import flash.display.Graphics;
  6.    import flash.display.InteractiveObject;
  7.    import flash.display.Loader;
  8.    import flash.display.LoaderInfo;
  9.    import flash.display.MovieClip;
  10.    import flash.display.Sprite;
  11.    import flash.display.Stage;
  12.    import flash.display.StageAlign;
  13.    import flash.display.StageScaleMode;
  14.    import flash.events.Event;
  15.    import flash.events.IEventDispatcher;
  16.    import flash.events.MouseEvent;
  17.    import flash.events.TimerEvent;
  18.    import flash.geom.Point;
  19.    import flash.geom.Rectangle;
  20.    import flash.system.ApplicationDomain;
  21.    import flash.system.Capabilities;
  22.    import flash.text.Font;
  23.    import flash.text.TextFormat;
  24.    import flash.utils.Dictionary;
  25.    import flash.utils.Timer;
  26.    import flash.utils.getQualifiedClassName;
  27.    import mx.core.EmbeddedFontRegistry;
  28.    import mx.core.EventPriority;
  29.    import mx.core.FlexSprite;
  30.    import mx.core.IChildList;
  31.    import mx.core.IFlexDisplayObject;
  32.    import mx.core.IFlexModuleFactory;
  33.    import mx.core.IInvalidating;
  34.    import mx.core.IRawChildrenContainer;
  35.    import mx.core.ISWFBridgeGroup;
  36.    import mx.core.ISWFBridgeProvider;
  37.    import mx.core.ISWFLoader;
  38.    import mx.core.IUIComponent;
  39.    import mx.core.RSLItem;
  40.    import mx.core.SWFBridgeGroup;
  41.    import mx.core.Singleton;
  42.    import mx.core.TextFieldFactory;
  43.    import mx.core.mx_internal;
  44.    import mx.events.EventListenerRequest;
  45.    import mx.events.FlexEvent;
  46.    import mx.events.InterManagerRequest;
  47.    import mx.events.InvalidateRequestData;
  48.    import mx.events.SWFBridgeEvent;
  49.    import mx.events.SWFBridgeRequest;
  50.    import mx.events.SandboxMouseEvent;
  51.    import mx.managers.systemClasses.EventProxy;
  52.    import mx.managers.systemClasses.PlaceholderData;
  53.    import mx.managers.systemClasses.RemotePopUp;
  54.    import mx.managers.systemClasses.StageEventProxy;
  55.    import mx.messaging.config.LoaderConfig;
  56.    import mx.preloaders.DownloadProgressBar;
  57.    import mx.preloaders.Preloader;
  58.    import mx.resources.IResourceManager;
  59.    import mx.resources.ResourceBundle;
  60.    import mx.resources.ResourceManager;
  61.    import mx.styles.ISimpleStyleClient;
  62.    import mx.styles.IStyleClient;
  63.    import mx.styles.StyleManager;
  64.    import mx.utils.EventUtil;
  65.    import mx.utils.NameUtil;
  66.    import mx.utils.SecurityUtil;
  67.    
  68.    use namespace mx_internal;
  69.    
  70.    public class SystemManager extends MovieClip implements IChildList, IFlexDisplayObject, IFlexModuleFactory, ISystemManager, ISWFBridgeProvider
  71.    {
  72.       mx_internal static var lastSystemManager:SystemManager;
  73.       
  74.       mx_internal static const VERSION:String = "3.2.0.3958";
  75.       
  76.       private static const IDLE_THRESHOLD:Number = 1000;
  77.       
  78.       private static const IDLE_INTERVAL:Number = 100;
  79.       
  80.       mx_internal static var allSystemManagers:Dictionary = new Dictionary(true);
  81.       
  82.       private var _stage:Stage;
  83.       
  84.       mx_internal var nestLevel:int = 0;
  85.       
  86.       private var currentSandboxEvent:Event;
  87.       
  88.       private var forms:Array;
  89.       
  90.       private var mouseCatcher:Sprite;
  91.       
  92.       private var _height:Number;
  93.       
  94.       private var dispatchingToSystemManagers:Boolean = false;
  95.       
  96.       private var preloader:Preloader;
  97.       
  98.       private var lastFrame:int;
  99.       
  100.       private var _document:Object;
  101.       
  102.       private var strongReferenceProxies:Dictionary;
  103.       
  104.       private var _rawChildren:SystemRawChildrenList;
  105.       
  106.       private var _topLevelSystemManager:ISystemManager;
  107.       
  108.       private var _toolTipIndex:int = 0;
  109.       
  110.       private var _explicitHeight:Number;
  111.       
  112.       private var idToPlaceholder:Object;
  113.       
  114.       private var _swfBridgeGroup:ISWFBridgeGroup;
  115.       
  116.       private var _toolTipChildren:SystemChildrenList;
  117.       
  118.       private var form:Object;
  119.       
  120.       private var _width:Number;
  121.       
  122.       private var initialized:Boolean = false;
  123.       
  124.       private var _focusPane:Sprite;
  125.       
  126.       private var _fontList:Object = null;
  127.       
  128.       private var isStageRoot:Boolean = true;
  129.       
  130.       private var _popUpChildren:SystemChildrenList;
  131.       
  132.       private var rslSizes:Array = null;
  133.       
  134.       private var _topMostIndex:int = 0;
  135.       
  136.       private var nextFrameTimer:Timer = null;
  137.       
  138.       mx_internal var topLevel:Boolean = true;
  139.       
  140.       private var weakReferenceProxies:Dictionary;
  141.       
  142.       private var _cursorIndex:int = 0;
  143.       
  144.       private var isBootstrapRoot:Boolean = false;
  145.       
  146.       mx_internal var _mouseY:*;
  147.       
  148.       private var _numModalWindows:int = 0;
  149.       
  150.       mx_internal var _mouseX:*;
  151.       
  152.       private var _screen:Rectangle;
  153.       
  154.       mx_internal var idleCounter:int = 0;
  155.       
  156.       private var _cursorChildren:SystemChildrenList;
  157.       
  158.       private var initCallbackFunctions:Array;
  159.       
  160.       private var bridgeToFocusManager:Dictionary;
  161.       
  162.       private var _noTopMostIndex:int = 0;
  163.       
  164.       private var _applicationIndex:int = 1;
  165.       
  166.       private var isDispatchingResizeEvent:Boolean;
  167.       
  168.       private var idleTimer:Timer;
  169.       
  170.       private var doneExecutingInitCallbacks:Boolean = false;
  171.       
  172.       private var _explicitWidth:Number;
  173.       
  174.       private var eventProxy:EventProxy;
  175.       
  176.       mx_internal var topLevelWindow:IUIComponent;
  177.       
  178.       public function SystemManager()
  179.       {
  180.          initCallbackFunctions = [];
  181.          forms = [];
  182.          weakReferenceProxies = new Dictionary(true);
  183.          strongReferenceProxies = new Dictionary(false);
  184.          super();
  185.          if(stage)
  186.          {
  187.             stage.scaleMode = StageScaleMode.NO_SCALE;
  188.             stage.align = StageAlign.TOP_LEFT;
  189.          }
  190.          if(SystemManagerGlobals.topLevelSystemManagers.length > 0 && !stage)
  191.          {
  192.             mx_internal::topLevel = false;
  193.          }
  194.          if(!stage)
  195.          {
  196.             isStageRoot = false;
  197.          }
  198.          if(mx_internal::topLevel)
  199.          {
  200.             SystemManagerGlobals.topLevelSystemManagers.push(this);
  201.          }
  202.          mx_internal::lastSystemManager = this;
  203.          var _loc1_:Array = info()["compiledLocales"];
  204.          ResourceBundle.mx_internal::locale = _loc1_ != null && _loc1_.length > 0 ? _loc1_[0] : "en_US";
  205.          executeCallbacks();
  206.          stop();
  207.          if(mx_internal::topLevel && currentFrame != 1)
  208.          {
  209.             throw new Error("The SystemManager constructor was called when the currentFrame was at " + currentFrame + " Please add this SWF to bug 129782.");
  210.          }
  211.          if(Boolean(root) && Boolean(root.loaderInfo))
  212.          {
  213.             root.loaderInfo.addEventListener(Event.INIT,initHandler);
  214.          }
  215.       }
  216.       
  217.       public static function getSWFRoot(param1:Object) : DisplayObject
  218.       {
  219.          var p:* = undefined;
  220.          var sm:ISystemManager = null;
  221.          var domain:ApplicationDomain = null;
  222.          var cls:Class = null;
  223.          var object:Object = param1;
  224.          var className:String = getQualifiedClassName(object);
  225.          for(p in mx_internal::allSystemManagers)
  226.          {
  227.             sm = p as ISystemManager;
  228.             domain = sm.loaderInfo.applicationDomain;
  229.             try
  230.             {
  231.                cls = Class(domain.getDefinition(className));
  232.                if(object is cls)
  233.                {
  234.                   return sm as DisplayObject;
  235.                }
  236.             }
  237.             catch(e:Error)
  238.             {
  239.             }
  240.          }
  241.          return null;
  242.       }
  243.       
  244.       private static function areRemotePopUpsEqual(param1:Object, param2:Object) : Boolean
  245.       {
  246.          if(!(param1 is RemotePopUp))
  247.          {
  248.             return false;
  249.          }
  250.          if(!(param2 is RemotePopUp))
  251.          {
  252.             return false;
  253.          }
  254.          var _loc3_:RemotePopUp = RemotePopUp(param1);
  255.          var _loc4_:RemotePopUp = RemotePopUp(param2);
  256.          if(_loc3_.window == _loc4_.window && _loc3_.bridge && Boolean(_loc4_.bridge))
  257.          {
  258.             return true;
  259.          }
  260.          return false;
  261.       }
  262.       
  263.       private static function getChildListIndex(param1:IChildList, param2:Object) : int
  264.       {
  265.          var childList:IChildList = param1;
  266.          var f:Object = param2;
  267.          var index:int = -1;
  268.          try
  269.          {
  270.             index = childList.getChildIndex(DisplayObject(f));
  271.          }
  272.          catch(e:ArgumentError)
  273.          {
  274.          }
  275.          return index;
  276.       }
  277.       
  278.       mx_internal static function registerInitCallback(param1:Function) : void
  279.       {
  280.          if(!mx_internal::allSystemManagers || !mx_internal::lastSystemManager)
  281.          {
  282.             return;
  283.          }
  284.          var _loc2_:SystemManager = mx_internal::lastSystemManager;
  285.          if(_loc2_.doneExecutingInitCallbacks)
  286.          {
  287.             param1(_loc2_);
  288.          }
  289.          else
  290.          {
  291.             _loc2_.initCallbackFunctions.push(param1);
  292.          }
  293.       }
  294.       
  295.       private static function isRemotePopUp(param1:Object) : Boolean
  296.       {
  297.          return !(param1 is IFocusManagerContainer);
  298.       }
  299.       
  300.       private function removeEventListenerFromSandboxes(param1:String, param2:Function, param3:Boolean = false, param4:IEventDispatcher = null) : void
  301.       {
  302.          var _loc8_:int = 0;
  303.          if(!swfBridgeGroup)
  304.          {
  305.             return;
  306.          }
  307.          var _loc5_:EventListenerRequest = new EventListenerRequest(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,false,false,param1,param3);
  308.          var _loc6_:IEventDispatcher = swfBridgeGroup.parentBridge;
  309.          if((Boolean(_loc6_)) && _loc6_ != param4)
  310.          {
  311.             _loc6_.removeEventListener(param1,param2,param3);
  312.          }
  313.          var _loc7_:Array = swfBridgeGroup.getChildBridges();
  314.          while(_loc8_ < _loc7_.length)
  315.          {
  316.             if(_loc7_[_loc8_] != param4)
  317.             {
  318.                IEventDispatcher(_loc7_[_loc8_]).removeEventListener(param1,param2,param3);
  319.             }
  320.             _loc8_++;
  321.          }
  322.          dispatchEventFromSWFBridges(_loc5_,param4);
  323.       }
  324.       
  325.       mx_internal function addingChild(param1:DisplayObject) : void
  326.       {
  327.          var _loc4_:DisplayObjectContainer = null;
  328.          var _loc2_:int = 1;
  329.          if(!mx_internal::topLevel && Boolean(parent))
  330.          {
  331.             _loc4_ = parent.parent;
  332.             while(_loc4_)
  333.             {
  334.                if(_loc4_ is ILayoutManagerClient)
  335.                {
  336.                   _loc2_ = ILayoutManagerClient(_loc4_).nestLevel + 1;
  337.                   break;
  338.                }
  339.                _loc4_ = _loc4_.parent;
  340.             }
  341.          }
  342.          mx_internal::nestLevel = _loc2_;
  343.          if(param1 is IUIComponent)
  344.          {
  345.             IUIComponent(param1).systemManager = this;
  346.          }
  347.          var _loc3_:Class = Class(getDefinitionByName("mx.core.UIComponent"));
  348.          if(param1 is IUIComponent && !IUIComponent(param1).document)
  349.          {
  350.             IUIComponent(param1).document = document;
  351.          }
  352.          if(param1 is ILayoutManagerClient)
  353.          {
  354.             ILayoutManagerClient(param1).nestLevel = mx_internal::nestLevel + 1;
  355.          }
  356.          if(param1 is InteractiveObject)
  357.          {
  358.             if(doubleClickEnabled)
  359.             {
  360.                InteractiveObject(param1).doubleClickEnabled = true;
  361.             }
  362.          }
  363.          if(param1 is IUIComponent)
  364.          {
  365.             IUIComponent(param1).parentChanged(this);
  366.          }
  367.          if(param1 is IStyleClient)
  368.          {
  369.             IStyleClient(param1).regenerateStyleCache(true);
  370.          }
  371.          if(param1 is ISimpleStyleClient)
  372.          {
  373.             ISimpleStyleClient(param1).styleChanged(null);
  374.          }
  375.          if(param1 is IStyleClient)
  376.          {
  377.             IStyleClient(param1).notifyStyleChangeInChildren(null,true);
  378.          }
  379.          if(Boolean(_loc3_) && param1 is _loc3_)
  380.          {
  381.             _loc3_(param1).initThemeColor();
  382.          }
  383.          if(Boolean(_loc3_) && param1 is _loc3_)
  384.          {
  385.             _loc3_(param1).stylesInitialized();
  386.          }
  387.       }
  388.       
  389.       private function dispatchEventToOtherSystemManagers(param1:Event) : void
  390.       {
  391.          dispatchingToSystemManagers = true;
  392.          var _loc2_:Array = SystemManagerGlobals.topLevelSystemManagers;
  393.          var _loc3_:int = int(_loc2_.length);
  394.          var _loc4_:int = 0;
  395.          while(_loc4_ < _loc3_)
  396.          {
  397.             if(_loc2_[_loc4_] != this)
  398.             {
  399.                _loc2_[_loc4_].dispatchEvent(param1);
  400.             }
  401.             _loc4_++;
  402.          }
  403.          dispatchingToSystemManagers = false;
  404.       }
  405.       
  406.       private function idleTimer_timerHandler(param1:TimerEvent) : void
  407.       {
  408.          ++mx_internal::idleCounter;
  409.          if(mx_internal::idleCounter * IDLE_INTERVAL > IDLE_THRESHOLD)
  410.          {
  411.             dispatchEvent(new FlexEvent(FlexEvent.IDLE));
  412.          }
  413.       }
  414.       
  415.       private function initManagerHandler(param1:Event) : void
  416.       {
  417.          var name:String;
  418.          var event:Event = param1;
  419.          if(!dispatchingToSystemManagers)
  420.          {
  421.             dispatchEventToOtherSystemManagers(event);
  422.          }
  423.          if(event is InterManagerRequest)
  424.          {
  425.             return;
  426.          }
  427.          name = event["name"];
  428.          try
  429.          {
  430.             Singleton.getInstance(name);
  431.          }
  432.          catch(e:Error)
  433.          {
  434.          }
  435.       }
  436.       
  437.       private function getSizeRequestHandler(param1:Event) : void
  438.       {
  439.          var _loc2_:Object = Object(param1);
  440.          _loc2_.data = {
  441.             "width":measuredWidth,
  442.             "height":measuredHeight
  443.          };
  444.       }
  445.       
  446.       private function beforeUnloadHandler(param1:Event) : void
  447.       {
  448.          var _loc2_:DisplayObject = null;
  449.          if(mx_internal::topLevel && Boolean(stage))
  450.          {
  451.             _loc2_ = getSandboxRoot();
  452.             if(_loc2_ != this)
  453.             {
  454.                _loc2_.removeEventListener(Event.RESIZE,Stage_resizeHandler);
  455.             }
  456.          }
  457.          mx_internal::removeParentBridgeListeners();
  458.          dispatchEvent(param1);
  459.       }
  460.       
  461.       public function getExplicitOrMeasuredHeight() : Number
  462.       {
  463.          return !isNaN(explicitHeight) ? explicitHeight : measuredHeight;
  464.       }
  465.       
  466.       private function getVisibleRectRequestHandler(param1:Event) : void
  467.       {
  468.          var _loc5_:Rectangle = null;
  469.          var _loc7_:Point = null;
  470.          var _loc8_:IEventDispatcher = null;
  471.          if(param1 is SWFBridgeRequest)
  472.          {
  473.             return;
  474.          }
  475.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  476.          var _loc3_:Rectangle = Rectangle(_loc2_.data);
  477.          var _loc4_:DisplayObject = DisplayObject(swfBridgeGroup.getChildBridgeProvider(_loc2_.requestor));
  478.          var _loc6_:Boolean = true;
  479.          if(!DisplayObjectContainer(document).contains(_loc4_))
  480.          {
  481.             _loc6_ = false;
  482.          }
  483.          if(_loc4_ is ISWFLoader)
  484.          {
  485.             _loc5_ = ISWFLoader(_loc4_).getVisibleApplicationRect();
  486.          }
  487.          else
  488.          {
  489.             _loc5_ = _loc4_.getBounds(this);
  490.             _loc7_ = localToGlobal(_loc5_.topLeft);
  491.             _loc5_.x = _loc7_.x;
  492.             _loc5_.y = _loc7_.y;
  493.          }
  494.          _loc3_ = _loc3_.intersection(_loc5_);
  495.          _loc2_.data = _loc3_;
  496.          if(_loc6_ && useSWFBridge())
  497.          {
  498.             _loc8_ = swfBridgeGroup.parentBridge;
  499.             _loc2_.requestor = _loc8_;
  500.             _loc8_.dispatchEvent(_loc2_);
  501.          }
  502.          Object(param1).data = _loc2_.data;
  503.       }
  504.       
  505.       mx_internal function notifyStyleChangeInChildren(param1:String, param2:Boolean) : void
  506.       {
  507.          var _loc6_:IStyleClient = null;
  508.          var _loc3_:Boolean = false;
  509.          var _loc4_:int = rawChildren.numChildren;
  510.          var _loc5_:int = 0;
  511.          while(_loc5_ < _loc4_)
  512.          {
  513.             _loc6_ = rawChildren.getChildAt(_loc5_) as IStyleClient;
  514.             if(_loc6_)
  515.             {
  516.                _loc6_.styleChanged(param1);
  517.                _loc6_.notifyStyleChangeInChildren(param1,param2);
  518.             }
  519.             if(isTopLevelWindow(DisplayObject(_loc6_)))
  520.             {
  521.                _loc3_ = true;
  522.             }
  523.             _loc4_ = rawChildren.numChildren;
  524.             _loc5_++;
  525.          }
  526.          if(!_loc3_ && mx_internal::topLevelWindow is IStyleClient)
  527.          {
  528.             IStyleClient(mx_internal::topLevelWindow).styleChanged(param1);
  529.             IStyleClient(mx_internal::topLevelWindow).notifyStyleChangeInChildren(param1,param2);
  530.          }
  531.       }
  532.       
  533.       mx_internal function rawChildren_getObjectsUnderPoint(param1:Point) : Array
  534.       {
  535.          return super.getObjectsUnderPoint(param1);
  536.       }
  537.       
  538.       private function initHandler(param1:Event) : void
  539.       {
  540.          var docFrame:int;
  541.          var bridgeEvent:SWFBridgeEvent = null;
  542.          var event:Event = param1;
  543.          if(!isStageRoot)
  544.          {
  545.             if(root.loaderInfo.parentAllowsChild)
  546.             {
  547.                try
  548.                {
  549.                   if(!parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot",false,true)))
  550.                   {
  551.                      isBootstrapRoot = true;
  552.                   }
  553.                }
  554.                catch(e:Error)
  555.                {
  556.                }
  557.             }
  558.          }
  559.          mx_internal::allSystemManagers[this] = this.loaderInfo.url;
  560.          root.loaderInfo.removeEventListener(Event.INIT,initHandler);
  561.          if(useSWFBridge())
  562.          {
  563.             swfBridgeGroup = new SWFBridgeGroup(this);
  564.             swfBridgeGroup.parentBridge = loaderInfo.sharedEvents;
  565.             mx_internal::addParentBridgeListeners();
  566.             bridgeEvent = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_NEW_APPLICATION);
  567.             bridgeEvent.data = swfBridgeGroup.parentBridge;
  568.             swfBridgeGroup.parentBridge.dispatchEvent(bridgeEvent);
  569.             addEventListener(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,addPlaceholderPopupRequestHandler);
  570.             root.loaderInfo.addEventListener(Event.UNLOAD,unloadHandler,false,0,true);
  571.          }
  572.          getSandboxRoot().addEventListener(InterManagerRequest.INIT_MANAGER_REQUEST,initManagerHandler,false,0,true);
  573.          if(getSandboxRoot() == this)
  574.          {
  575.             addEventListener(InterManagerRequest.SYSTEM_MANAGER_REQUEST,systemManagerHandler);
  576.             addEventListener(InterManagerRequest.DRAG_MANAGER_REQUEST,multiWindowRedispatcher);
  577.             addEventListener("dispatchDragEvent",multiWindowRedispatcher);
  578.             addEventListener(SWFBridgeRequest.ADD_POP_UP_REQUEST,addPopupRequestHandler);
  579.             addEventListener(SWFBridgeRequest.REMOVE_POP_UP_REQUEST,removePopupRequestHandler);
  580.             addEventListener(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,addPlaceholderPopupRequestHandler);
  581.             addEventListener(SWFBridgeRequest.REMOVE_POP_UP_PLACE_HOLDER_REQUEST,removePlaceholderPopupRequestHandler);
  582.             addEventListener(SWFBridgeEvent.BRIDGE_WINDOW_ACTIVATE,activateFormSandboxEventHandler);
  583.             addEventListener(SWFBridgeEvent.BRIDGE_WINDOW_DEACTIVATE,deactivateFormSandboxEventHandler);
  584.             addEventListener(SWFBridgeRequest.HIDE_MOUSE_CURSOR_REQUEST,hideMouseCursorRequestHandler);
  585.             addEventListener(SWFBridgeRequest.SHOW_MOUSE_CURSOR_REQUEST,showMouseCursorRequestHandler);
  586.             addEventListener(SWFBridgeRequest.RESET_MOUSE_CURSOR_REQUEST,resetMouseCursorRequestHandler);
  587.          }
  588.          docFrame = totalFrames == 1 ? 0 : 1;
  589.          addEventListener(Event.ENTER_FRAME,docFrameListener);
  590.          mx_internal::initialize();
  591.       }
  592.       
  593.       mx_internal function findFocusManagerContainer(param1:SystemManagerProxy) : IFocusManagerContainer
  594.       {
  595.          var _loc5_:DisplayObject = null;
  596.          var _loc2_:IChildList = param1.rawChildren;
  597.          var _loc3_:int = _loc2_.numChildren;
  598.          var _loc4_:int = 0;
  599.          while(_loc4_ < _loc3_)
  600.          {
  601.             _loc5_ = _loc2_.getChildAt(_loc4_);
  602.             if(_loc5_ is IFocusManagerContainer)
  603.             {
  604.                return IFocusManagerContainer(_loc5_);
  605.             }
  606.             _loc4_++;
  607.          }
  608.          return null;
  609.       }
  610.       
  611.       private function addPlaceholderPopupRequestHandler(param1:Event) : void
  612.       {
  613.          var _loc3_:RemotePopUp = null;
  614.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  615.          if(param1.target != this && param1 is SWFBridgeRequest)
  616.          {
  617.             return;
  618.          }
  619.          if(!forwardPlaceholderRequest(_loc2_,true))
  620.          {
  621.             _loc3_ = new RemotePopUp(_loc2_.data.placeHolderId,_loc2_.requestor);
  622.             forms.push(_loc3_);
  623.          }
  624.       }
  625.       
  626.       override public function contains(param1:DisplayObject) : Boolean
  627.       {
  628.          var _loc2_:int = 0;
  629.          var _loc3_:int = 0;
  630.          var _loc4_:DisplayObject = null;
  631.          if(super.contains(param1))
  632.          {
  633.             if(param1.parent == this)
  634.             {
  635.                _loc2_ = super.getChildIndex(param1);
  636.                if(_loc2_ < mx_internal::noTopMostIndex)
  637.                {
  638.                   return true;
  639.                }
  640.             }
  641.             else
  642.             {
  643.                _loc3_ = 0;
  644.                while(_loc3_ < mx_internal::noTopMostIndex)
  645.                {
  646.                   _loc4_ = super.getChildAt(_loc3_);
  647.                   if(_loc4_ is IRawChildrenContainer)
  648.                   {
  649.                      if(IRawChildrenContainer(_loc4_).rawChildren.contains(param1))
  650.                      {
  651.                         return true;
  652.                      }
  653.                   }
  654.                   if(_loc4_ is DisplayObjectContainer)
  655.                   {
  656.                      if(DisplayObjectContainer(_loc4_).contains(param1))
  657.                      {
  658.                         return true;
  659.                      }
  660.                   }
  661.                   _loc3_++;
  662.                }
  663.             }
  664.          }
  665.          return false;
  666.       }
  667.       
  668.       private function modalWindowRequestHandler(param1:Event) : void
  669.       {
  670.          if(param1 is SWFBridgeRequest)
  671.          {
  672.             return;
  673.          }
  674.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  675.          if(!preProcessModalWindowRequest(_loc2_,getSandboxRoot()))
  676.          {
  677.             return;
  678.          }
  679.          Singleton.getInstance("mx.managers::IPopUpManager");
  680.          dispatchEvent(_loc2_);
  681.       }
  682.       
  683.       private function activateApplicationSandboxEventHandler(param1:Event) : void
  684.       {
  685.          if(!isTopLevelRoot())
  686.          {
  687.             swfBridgeGroup.parentBridge.dispatchEvent(param1);
  688.             return;
  689.          }
  690.          activateForm(document);
  691.       }
  692.       
  693.       public function getDefinitionByName(param1:String) : Object
  694.       {
  695.          var _loc3_:Object = null;
  696.          var _loc2_:ApplicationDomain = !mx_internal::topLevel && parent is Loader ? Loader(parent).contentLoaderInfo.applicationDomain : info()["currentDomain"] as ApplicationDomain;
  697.          if(_loc2_.hasDefinition(param1))
  698.          {
  699.             _loc3_ = _loc2_.getDefinition(param1);
  700.          }
  701.          return _loc3_;
  702.       }
  703.       
  704.       public function removeChildFromSandboxRoot(param1:String, param2:DisplayObject) : void
  705.       {
  706.          var _loc3_:InterManagerRequest = null;
  707.          if(getSandboxRoot() == this)
  708.          {
  709.             this[param1].removeChild(param2);
  710.          }
  711.          else
  712.          {
  713.             mx_internal::removingChild(param2);
  714.             _loc3_ = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST);
  715.             _loc3_.name = param1 + ".removeChild";
  716.             _loc3_.value = param2;
  717.             getSandboxRoot().dispatchEvent(_loc3_);
  718.             mx_internal::childRemoved(param2);
  719.          }
  720.       }
  721.       
  722.       private function removeEventListenerFromOtherSystemManagers(param1:String, param2:Function, param3:Boolean = false) : void
  723.       {
  724.          var _loc4_:Array = SystemManagerGlobals.topLevelSystemManagers;
  725.          if(_loc4_.length < 2)
  726.          {
  727.             return;
  728.          }
  729.          SystemManagerGlobals.changingListenersInOtherSystemManagers = true;
  730.          var _loc5_:int = int(_loc4_.length);
  731.          var _loc6_:int = 0;
  732.          while(_loc6_ < _loc5_)
  733.          {
  734.             if(_loc4_[_loc6_] != this)
  735.             {
  736.                _loc4_[_loc6_].removeEventListener(param1,param2,param3);
  737.             }
  738.             _loc6_++;
  739.          }
  740.          SystemManagerGlobals.changingListenersInOtherSystemManagers = false;
  741.       }
  742.       
  743.       private function addEventListenerToOtherSystemManagers(param1:String, param2:Function, param3:Boolean = false, param4:int = 0, param5:Boolean = false) : void
  744.       {
  745.          var _loc6_:Array = SystemManagerGlobals.topLevelSystemManagers;
  746.          if(_loc6_.length < 2)
  747.          {
  748.             return;
  749.          }
  750.          SystemManagerGlobals.changingListenersInOtherSystemManagers = true;
  751.          var _loc7_:int = int(_loc6_.length);
  752.          var _loc8_:int = 0;
  753.          while(_loc8_ < _loc7_)
  754.          {
  755.             if(_loc6_[_loc8_] != this)
  756.             {
  757.                _loc6_[_loc8_].addEventListener(param1,param2,param3,param4,param5);
  758.             }
  759.             _loc8_++;
  760.          }
  761.          SystemManagerGlobals.changingListenersInOtherSystemManagers = false;
  762.       }
  763.       
  764.       public function get embeddedFontList() : Object
  765.       {
  766.          var _loc1_:Object = null;
  767.          var _loc2_:String = null;
  768.          var _loc3_:Object = null;
  769.          if(_fontList == null)
  770.          {
  771.             _fontList = {};
  772.             _loc1_ = info()["fonts"];
  773.             for(_loc2_ in _loc1_)
  774.             {
  775.                _fontList[_loc2_] = _loc1_[_loc2_];
  776.             }
  777.             if(!mx_internal::topLevel && Boolean(_topLevelSystemManager))
  778.             {
  779.                _loc3_ = _topLevelSystemManager.embeddedFontList;
  780.                for(_loc2_ in _loc3_)
  781.                {
  782.                   _fontList[_loc2_] = _loc3_[_loc2_];
  783.                }
  784.             }
  785.          }
  786.          return _fontList;
  787.       }
  788.       
  789.       mx_internal function set cursorIndex(param1:int) : void
  790.       {
  791.          var _loc2_:int = param1 - _cursorIndex;
  792.          _cursorIndex = param1;
  793.       }
  794.       
  795.       mx_internal function addChildBridgeListeners(param1:IEventDispatcher) : void
  796.       {
  797.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  798.          {
  799.             SystemManager(topLevelSystemManager).mx_internal::addChildBridgeListeners(param1);
  800.             return;
  801.          }
  802.          param1.addEventListener(SWFBridgeRequest.ADD_POP_UP_REQUEST,addPopupRequestHandler);
  803.          param1.addEventListener(SWFBridgeRequest.REMOVE_POP_UP_REQUEST,removePopupRequestHandler);
  804.          param1.addEventListener(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,addPlaceholderPopupRequestHandler);
  805.          param1.addEventListener(SWFBridgeRequest.REMOVE_POP_UP_PLACE_HOLDER_REQUEST,removePlaceholderPopupRequestHandler);
  806.          param1.addEventListener(SWFBridgeEvent.BRIDGE_WINDOW_ACTIVATE,activateFormSandboxEventHandler);
  807.          param1.addEventListener(SWFBridgeEvent.BRIDGE_WINDOW_DEACTIVATE,deactivateFormSandboxEventHandler);
  808.          param1.addEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_ACTIVATE,activateApplicationSandboxEventHandler);
  809.          param1.addEventListener(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,eventListenerRequestHandler,false,0,true);
  810.          param1.addEventListener(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,eventListenerRequestHandler,false,0,true);
  811.          param1.addEventListener(SWFBridgeRequest.CREATE_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  812.          param1.addEventListener(SWFBridgeRequest.SHOW_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  813.          param1.addEventListener(SWFBridgeRequest.HIDE_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  814.          param1.addEventListener(SWFBridgeRequest.GET_VISIBLE_RECT_REQUEST,getVisibleRectRequestHandler);
  815.          param1.addEventListener(SWFBridgeRequest.HIDE_MOUSE_CURSOR_REQUEST,hideMouseCursorRequestHandler);
  816.          param1.addEventListener(SWFBridgeRequest.SHOW_MOUSE_CURSOR_REQUEST,showMouseCursorRequestHandler);
  817.          param1.addEventListener(SWFBridgeRequest.RESET_MOUSE_CURSOR_REQUEST,resetMouseCursorRequestHandler);
  818.       }
  819.       
  820.       public function set document(param1:Object) : void
  821.       {
  822.          _document = param1;
  823.       }
  824.       
  825.       override public function getChildAt(param1:int) : DisplayObject
  826.       {
  827.          return super.getChildAt(mx_internal::applicationIndex + param1);
  828.       }
  829.       
  830.       public function get rawChildren() : IChildList
  831.       {
  832.          if(!_rawChildren)
  833.          {
  834.             _rawChildren = new SystemRawChildrenList(this);
  835.          }
  836.          return _rawChildren;
  837.       }
  838.       
  839.       private function findLastActiveForm(param1:Object) : Object
  840.       {
  841.          var _loc2_:int = int(forms.length);
  842.          var _loc3_:int = int(forms.length - 1);
  843.          while(_loc3_ >= 0)
  844.          {
  845.             if(forms[_loc3_] != param1 && canActivatePopUp(forms[_loc3_]))
  846.             {
  847.                return forms[_loc3_];
  848.             }
  849.             _loc3_--;
  850.          }
  851.          return null;
  852.       }
  853.       
  854.       private function multiWindowRedispatcher(param1:Event) : void
  855.       {
  856.          if(!dispatchingToSystemManagers)
  857.          {
  858.             dispatchEventToOtherSystemManagers(param1);
  859.          }
  860.       }
  861.       
  862.       public function deployMouseShields(param1:Boolean) : void
  863.       {
  864.          var _loc2_:InterManagerRequest = new InterManagerRequest(InterManagerRequest.DRAG_MANAGER_REQUEST,false,false,"mouseShield",param1);
  865.          getSandboxRoot().dispatchEvent(_loc2_);
  866.       }
  867.       
  868.       override public function addEventListener(param1:String, param2:Function, param3:Boolean = false, param4:int = 0, param5:Boolean = false) : void
  869.       {
  870.          var newListener:StageEventProxy = null;
  871.          var actualType:String = null;
  872.          var type:String = param1;
  873.          var listener:Function = param2;
  874.          var useCapture:Boolean = param3;
  875.          var priority:int = param4;
  876.          var useWeakReference:Boolean = param5;
  877.          if(type == FlexEvent.RENDER || type == FlexEvent.ENTER_FRAME)
  878.          {
  879.             if(type == FlexEvent.RENDER)
  880.             {
  881.                type = Event.RENDER;
  882.             }
  883.             else
  884.             {
  885.                type = Event.ENTER_FRAME;
  886.             }
  887.             try
  888.             {
  889.                if(stage)
  890.                {
  891.                   stage.addEventListener(type,listener,useCapture,priority,useWeakReference);
  892.                }
  893.                else
  894.                {
  895.                   super.addEventListener(type,listener,useCapture,priority,useWeakReference);
  896.                }
  897.             }
  898.             catch(error:SecurityError)
  899.             {
  900.                super.addEventListener(type,listener,useCapture,priority,useWeakReference);
  901.             }
  902.             if(Boolean(stage) && type == Event.RENDER)
  903.             {
  904.                stage.invalidate();
  905.             }
  906.             return;
  907.          }
  908.          if(type == MouseEvent.MOUSE_MOVE || type == MouseEvent.MOUSE_UP || type == MouseEvent.MOUSE_DOWN || type == Event.ACTIVATE || type == Event.DEACTIVATE)
  909.          {
  910.             try
  911.             {
  912.                if(stage)
  913.                {
  914.                   newListener = new StageEventProxy(listener);
  915.                   stage.addEventListener(type,newListener.stageListener,false,priority,useWeakReference);
  916.                   if(useWeakReference)
  917.                   {
  918.                      weakReferenceProxies[listener] = newListener;
  919.                   }
  920.                   else
  921.                   {
  922.                      strongReferenceProxies[listener] = newListener;
  923.                   }
  924.                }
  925.             }
  926.             catch(error:SecurityError)
  927.             {
  928.             }
  929.          }
  930.          if(hasSWFBridges() || SystemManagerGlobals.topLevelSystemManagers.length > 1)
  931.          {
  932.             if(!eventProxy)
  933.             {
  934.                eventProxy = new EventProxy(this);
  935.             }
  936.             actualType = EventUtil.sandboxMouseEventMap[type];
  937.             if(actualType)
  938.             {
  939.                if(isTopLevelRoot())
  940.                {
  941.                   stage.addEventListener(MouseEvent.MOUSE_MOVE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  942.                   addEventListenerToSandboxes(SandboxMouseEvent.MOUSE_MOVE_SOMEWHERE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  943.                }
  944.                else
  945.                {
  946.                   super.addEventListener(MouseEvent.MOUSE_MOVE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  947.                }
  948.                addEventListenerToSandboxes(type,sandboxMouseListener,useCapture,priority,useWeakReference);
  949.                if(!SystemManagerGlobals.changingListenersInOtherSystemManagers)
  950.                {
  951.                   addEventListenerToOtherSystemManagers(type,otherSystemManagerMouseListener,useCapture,priority,useWeakReference);
  952.                }
  953.                if(getSandboxRoot() == this)
  954.                {
  955.                   super.addEventListener(actualType,eventProxy.marshalListener,useCapture,priority,useWeakReference);
  956.                }
  957.                super.addEventListener(type,listener,false,priority,useWeakReference);
  958.                return;
  959.             }
  960.          }
  961.          if(type == FlexEvent.IDLE && !idleTimer)
  962.          {
  963.             idleTimer = new Timer(IDLE_INTERVAL);
  964.             idleTimer.addEventListener(TimerEvent.TIMER,idleTimer_timerHandler);
  965.             idleTimer.start();
  966.             addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler,true);
  967.             addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler,true);
  968.          }
  969.          super.addEventListener(type,listener,useCapture,priority,useWeakReference);
  970.       }
  971.       
  972.       private function activateForm(param1:Object) : void
  973.       {
  974.          var _loc2_:IFocusManagerContainer = null;
  975.          if(form)
  976.          {
  977.             if(form != param1 && forms.length > 1)
  978.             {
  979.                if(isRemotePopUp(form))
  980.                {
  981.                   if(!areRemotePopUpsEqual(form,param1))
  982.                   {
  983.                      deactivateRemotePopUp(form);
  984.                   }
  985.                }
  986.                else
  987.                {
  988.                   _loc2_ = IFocusManagerContainer(form);
  989.                   _loc2_.focusManager.deactivate();
  990.                }
  991.             }
  992.          }
  993.          form = param1;
  994.          if(isRemotePopUp(param1))
  995.          {
  996.             activateRemotePopUp(param1);
  997.          }
  998.          else if(param1.focusManager)
  999.          {
  1000.             param1.focusManager.activate();
  1001.          }
  1002.          updateLastActiveForm();
  1003.       }
  1004.       
  1005.       public function removeFocusManager(param1:IFocusManagerContainer) : void
  1006.       {
  1007.          var _loc2_:int = int(forms.length);
  1008.          var _loc3_:int = 0;
  1009.          while(_loc3_ < _loc2_)
  1010.          {
  1011.             if(forms[_loc3_] == param1)
  1012.             {
  1013.                if(form == param1)
  1014.                {
  1015.                   deactivate(param1);
  1016.                }
  1017.                dispatchDeactivatedWindowEvent(DisplayObject(param1));
  1018.                forms.splice(_loc3_,1);
  1019.                return;
  1020.             }
  1021.             _loc3_++;
  1022.          }
  1023.       }
  1024.       
  1025.       private function mouseMoveHandler(param1:MouseEvent) : void
  1026.       {
  1027.          mx_internal::idleCounter = 0;
  1028.       }
  1029.       
  1030.       private function getSandboxScreen() : Rectangle
  1031.       {
  1032.          var _loc2_:Rectangle = null;
  1033.          var _loc3_:DisplayObject = null;
  1034.          var _loc4_:InterManagerRequest = null;
  1035.          var _loc1_:DisplayObject = getSandboxRoot();
  1036.          if(_loc1_ == this)
  1037.          {
  1038.             _loc2_ = new Rectangle(0,0,width,height);
  1039.          }
  1040.          else if(_loc1_ == topLevelSystemManager)
  1041.          {
  1042.             _loc3_ = DisplayObject(topLevelSystemManager);
  1043.             _loc2_ = new Rectangle(0,0,_loc3_.width,_loc3_.height);
  1044.          }
  1045.          else
  1046.          {
  1047.             _loc4_ = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST,false,false,"screen");
  1048.             _loc1_.dispatchEvent(_loc4_);
  1049.             _loc2_ = Rectangle(_loc4_.value);
  1050.          }
  1051.          return _loc2_;
  1052.       }
  1053.       
  1054.       public function get focusPane() : Sprite
  1055.       {
  1056.          return _focusPane;
  1057.       }
  1058.       
  1059.       override public function get mouseX() : Number
  1060.       {
  1061.          if(mx_internal::_mouseX === undefined)
  1062.          {
  1063.             return super.mouseX;
  1064.          }
  1065.          return mx_internal::_mouseX;
  1066.       }
  1067.       
  1068.       private function mouseDownHandler(param1:MouseEvent) : void
  1069.       {
  1070.          var _loc3_:int = 0;
  1071.          var _loc4_:DisplayObject = null;
  1072.          var _loc5_:Boolean = false;
  1073.          var _loc6_:int = 0;
  1074.          var _loc7_:Object = null;
  1075.          var _loc8_:int = 0;
  1076.          var _loc9_:int = 0;
  1077.          var _loc10_:int = 0;
  1078.          var _loc11_:IChildList = null;
  1079.          var _loc12_:DisplayObject = null;
  1080.          var _loc13_:Boolean = false;
  1081.          var _loc14_:int = 0;
  1082.          mx_internal::idleCounter = 0;
  1083.          var _loc2_:IEventDispatcher = getSWFBridgeOfDisplayObject(param1.target as DisplayObject);
  1084.          if(Boolean(_loc2_) && bridgeToFocusManager[_loc2_] == document.focusManager)
  1085.          {
  1086.             if(isTopLevelRoot())
  1087.             {
  1088.                activateForm(document);
  1089.             }
  1090.             else
  1091.             {
  1092.                dispatchActivatedApplicationEvent();
  1093.             }
  1094.             return;
  1095.          }
  1096.          if(numModalWindows == 0)
  1097.          {
  1098.             if(!isTopLevelRoot() || forms.length > 1)
  1099.             {
  1100.                _loc3_ = int(forms.length);
  1101.                _loc4_ = DisplayObject(param1.target);
  1102.                _loc5_ = Boolean(document.rawChildren.contains(_loc4_));
  1103.                while(_loc4_)
  1104.                {
  1105.                   _loc6_ = 0;
  1106.                   while(_loc6_ < _loc3_)
  1107.                   {
  1108.                      _loc7_ = isRemotePopUp(forms[_loc6_]) ? forms[_loc6_].window : forms[_loc6_];
  1109.                      if(_loc7_ == _loc4_)
  1110.                      {
  1111.                         _loc8_ = 0;
  1112.                         if(_loc4_ != form && _loc4_ is IFocusManagerContainer || !isTopLevelRoot() && _loc4_ == form)
  1113.                         {
  1114.                            if(isTopLevelRoot())
  1115.                            {
  1116.                               activate(IFocusManagerContainer(_loc4_));
  1117.                            }
  1118.                            if(_loc4_ == document)
  1119.                            {
  1120.                               dispatchActivatedApplicationEvent();
  1121.                            }
  1122.                            else if(_loc4_ is DisplayObject)
  1123.                            {
  1124.                               mx_internal::dispatchActivatedWindowEvent(DisplayObject(_loc4_));
  1125.                            }
  1126.                         }
  1127.                         if(popUpChildren.contains(_loc4_))
  1128.                         {
  1129.                            _loc11_ = popUpChildren;
  1130.                         }
  1131.                         else
  1132.                         {
  1133.                            _loc11_ = this;
  1134.                         }
  1135.                         _loc10_ = _loc9_ = _loc11_.getChildIndex(_loc4_);
  1136.                         _loc3_ = int(forms.length);
  1137.                         _loc8_ = 0;
  1138.                         for(; _loc8_ < _loc3_; _loc8_++)
  1139.                         {
  1140.                            _loc13_ = isRemotePopUp(forms[_loc8_]);
  1141.                            if(_loc13_)
  1142.                            {
  1143.                               if(forms[_loc8_].window is String)
  1144.                               {
  1145.                                  continue;
  1146.                               }
  1147.                               _loc12_ = forms[_loc8_].window;
  1148.                            }
  1149.                            else
  1150.                            {
  1151.                               _loc12_ = forms[_loc8_];
  1152.                            }
  1153.                            if(_loc13_)
  1154.                            {
  1155.                               _loc14_ = getChildListIndex(_loc11_,_loc12_);
  1156.                               if(_loc14_ > _loc9_)
  1157.                               {
  1158.                                  _loc10_ = Math.max(_loc14_,_loc10_);
  1159.                               }
  1160.                            }
  1161.                            else if(_loc11_.contains(_loc12_))
  1162.                            {
  1163.                               if(_loc11_.getChildIndex(_loc12_) > _loc9_)
  1164.                               {
  1165.                                  _loc10_ = Math.max(_loc11_.getChildIndex(_loc12_),_loc10_);
  1166.                               }
  1167.                            }
  1168.                         }
  1169.                         if(_loc10_ > _loc9_ && !_loc5_)
  1170.                         {
  1171.                            _loc11_.setChildIndex(_loc4_,_loc10_);
  1172.                         }
  1173.                         return;
  1174.                      }
  1175.                      _loc6_++;
  1176.                   }
  1177.                   _loc4_ = _loc4_.parent;
  1178.                }
  1179.             }
  1180.             else
  1181.             {
  1182.                dispatchActivatedApplicationEvent();
  1183.             }
  1184.          }
  1185.       }
  1186.       
  1187.       private function removePopupRequestHandler(param1:Event) : void
  1188.       {
  1189.          var _loc3_:SWFBridgeRequest = null;
  1190.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  1191.          if(Boolean(swfBridgeGroup.parentBridge) && SecurityUtil.hasMutualTrustBetweenParentAndChild(this))
  1192.          {
  1193.             _loc2_.requestor = swfBridgeGroup.parentBridge;
  1194.             getSandboxRoot().dispatchEvent(_loc2_);
  1195.             return;
  1196.          }
  1197.          if(popUpChildren.contains(_loc2_.data.window))
  1198.          {
  1199.             popUpChildren.removeChild(_loc2_.data.window);
  1200.          }
  1201.          else
  1202.          {
  1203.             removeChild(DisplayObject(_loc2_.data.window));
  1204.          }
  1205.          if(_loc2_.data.modal)
  1206.          {
  1207.             --numModalWindows;
  1208.          }
  1209.          removeRemotePopUp(new RemotePopUp(_loc2_.data.window,_loc2_.requestor));
  1210.          if(!isTopLevelRoot() && Boolean(swfBridgeGroup))
  1211.          {
  1212.             _loc3_ = new SWFBridgeRequest(SWFBridgeRequest.REMOVE_POP_UP_PLACE_HOLDER_REQUEST,false,false,_loc2_.requestor,{"placeHolderId":NameUtil.displayObjectToString(_loc2_.data.window)});
  1213.             dispatchEvent(_loc3_);
  1214.          }
  1215.       }
  1216.       
  1217.       public function addChildBridge(param1:IEventDispatcher, param2:DisplayObject) : void
  1218.       {
  1219.          var _loc3_:IFocusManager = null;
  1220.          var _loc4_:DisplayObject = param2;
  1221.          while(_loc4_)
  1222.          {
  1223.             if(_loc4_ is IFocusManagerContainer)
  1224.             {
  1225.                _loc3_ = IFocusManagerContainer(_loc4_).focusManager;
  1226.                break;
  1227.             }
  1228.             _loc4_ = _loc4_.parent;
  1229.          }
  1230.          if(!_loc3_)
  1231.          {
  1232.             return;
  1233.          }
  1234.          if(!swfBridgeGroup)
  1235.          {
  1236.             swfBridgeGroup = new SWFBridgeGroup(this);
  1237.          }
  1238.          swfBridgeGroup.addChildBridge(param1,ISWFBridgeProvider(param2));
  1239.          _loc3_.addSWFBridge(param1,param2);
  1240.          if(!bridgeToFocusManager)
  1241.          {
  1242.             bridgeToFocusManager = new Dictionary();
  1243.          }
  1244.          bridgeToFocusManager[param1] = _loc3_;
  1245.          mx_internal::addChildBridgeListeners(param1);
  1246.       }
  1247.       
  1248.       public function get screen() : Rectangle
  1249.       {
  1250.          if(!_screen)
  1251.          {
  1252.             Stage_resizeHandler();
  1253.          }
  1254.          if(!isStageRoot)
  1255.          {
  1256.             Stage_resizeHandler();
  1257.          }
  1258.          return _screen;
  1259.       }
  1260.       
  1261.       private function resetMouseCursorRequestHandler(param1:Event) : void
  1262.       {
  1263.          var _loc3_:IEventDispatcher = null;
  1264.          if(!isTopLevelRoot() && param1 is SWFBridgeRequest)
  1265.          {
  1266.             return;
  1267.          }
  1268.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  1269.          if(!isTopLevelRoot())
  1270.          {
  1271.             _loc3_ = swfBridgeGroup.parentBridge;
  1272.             _loc2_.requestor = _loc3_;
  1273.             _loc3_.dispatchEvent(_loc2_);
  1274.          }
  1275.          else if(eventProxy)
  1276.          {
  1277.             SystemManagerGlobals.showMouseCursor = true;
  1278.          }
  1279.       }
  1280.       
  1281.       mx_internal function set topMostIndex(param1:int) : void
  1282.       {
  1283.          var _loc2_:int = param1 - _topMostIndex;
  1284.          _topMostIndex = param1;
  1285.          mx_internal::toolTipIndex += _loc2_;
  1286.       }
  1287.       
  1288.       mx_internal function docFrameHandler(param1:Event = null) : void
  1289.       {
  1290.          var _loc2_:TextFieldFactory = null;
  1291.          var _loc4_:int = 0;
  1292.          var _loc5_:int = 0;
  1293.          var _loc6_:Class = null;
  1294.          Singleton.registerClass("mx.managers::IBrowserManager",Class(getDefinitionByName("mx.managers::BrowserManagerImpl")));
  1295.          Singleton.registerClass("mx.managers::ICursorManager",Class(getDefinitionByName("mx.managers::CursorManagerImpl")));
  1296.          Singleton.registerClass("mx.managers::IHistoryManager",Class(getDefinitionByName("mx.managers::HistoryManagerImpl")));
  1297.          Singleton.registerClass("mx.managers::ILayoutManager",Class(getDefinitionByName("mx.managers::LayoutManager")));
  1298.          Singleton.registerClass("mx.managers::IPopUpManager",Class(getDefinitionByName("mx.managers::PopUpManagerImpl")));
  1299.          Singleton.registerClass("mx.managers::IToolTipManager2",Class(getDefinitionByName("mx.managers::ToolTipManagerImpl")));
  1300.          if(Capabilities.playerType == "Desktop")
  1301.          {
  1302.             Singleton.registerClass("mx.managers::IDragManager",Class(getDefinitionByName("mx.managers::NativeDragManagerImpl")));
  1303.             if(Singleton.getClass("mx.managers::IDragManager") == null)
  1304.             {
  1305.                Singleton.registerClass("mx.managers::IDragManager",Class(getDefinitionByName("mx.managers::DragManagerImpl")));
  1306.             }
  1307.          }
  1308.          else
  1309.          {
  1310.             Singleton.registerClass("mx.managers::IDragManager",Class(getDefinitionByName("mx.managers::DragManagerImpl")));
  1311.          }
  1312.          Singleton.registerClass("mx.core::ITextFieldFactory",Class(getDefinitionByName("mx.core::TextFieldFactory")));
  1313.          executeCallbacks();
  1314.          doneExecutingInitCallbacks = true;
  1315.          var _loc3_:Array = info()["mixins"];
  1316.          if(Boolean(_loc3_) && _loc3_.length > 0)
  1317.          {
  1318.             _loc4_ = int(_loc3_.length);
  1319.             _loc5_ = 0;
  1320.             while(_loc5_ < _loc4_)
  1321.             {
  1322.                _loc6_ = Class(getDefinitionByName(_loc3_[_loc5_]));
  1323.                _loc6_["init"](this);
  1324.                _loc5_++;
  1325.             }
  1326.          }
  1327.          installCompiledResourceBundles();
  1328.          initializeTopLevelWindow(null);
  1329.          deferredNextFrame();
  1330.       }
  1331.       
  1332.       public function get explicitHeight() : Number
  1333.       {
  1334.          return _explicitHeight;
  1335.       }
  1336.       
  1337.       public function get preloaderBackgroundSize() : String
  1338.       {
  1339.          return info()["backgroundSize"];
  1340.       }
  1341.       
  1342.       public function isTopLevel() : Boolean
  1343.       {
  1344.          return mx_internal::topLevel;
  1345.       }
  1346.       
  1347.       override public function get mouseY() : Number
  1348.       {
  1349.          if(mx_internal::_mouseY === undefined)
  1350.          {
  1351.             return super.mouseY;
  1352.          }
  1353.          return mx_internal::_mouseY;
  1354.       }
  1355.       
  1356.       public function getExplicitOrMeasuredWidth() : Number
  1357.       {
  1358.          return !isNaN(explicitWidth) ? explicitWidth : measuredWidth;
  1359.       }
  1360.       
  1361.       public function deactivate(param1:IFocusManagerContainer) : void
  1362.       {
  1363.          deactivateForm(Object(param1));
  1364.       }
  1365.       
  1366.       private function preProcessModalWindowRequest(param1:SWFBridgeRequest, param2:DisplayObject) : Boolean
  1367.       {
  1368.          var _loc3_:IEventDispatcher = null;
  1369.          var _loc4_:ISWFLoader = null;
  1370.          var _loc5_:Rectangle = null;
  1371.          if(param1.data.skip)
  1372.          {
  1373.             param1.data.skip = false;
  1374.             if(useSWFBridge())
  1375.             {
  1376.                _loc3_ = swfBridgeGroup.parentBridge;
  1377.                param1.requestor = _loc3_;
  1378.                _loc3_.dispatchEvent(param1);
  1379.             }
  1380.             return false;
  1381.          }
  1382.          if(this != param2)
  1383.          {
  1384.             if(param1.type == SWFBridgeRequest.CREATE_MODAL_WINDOW_REQUEST || param1.type == SWFBridgeRequest.SHOW_MODAL_WINDOW_REQUEST)
  1385.             {
  1386.                _loc4_ = swfBridgeGroup.getChildBridgeProvider(param1.requestor) as ISWFLoader;
  1387.                if(_loc4_)
  1388.                {
  1389.                   _loc5_ = ISWFLoader(_loc4_).getVisibleApplicationRect();
  1390.                   param1.data.excludeRect = _loc5_;
  1391.                   if(!DisplayObjectContainer(document).contains(DisplayObject(_loc4_)))
  1392.                   {
  1393.                      param1.data.useExclude = false;
  1394.                   }
  1395.                }
  1396.             }
  1397.             _loc3_ = swfBridgeGroup.parentBridge;
  1398.             param1.requestor = _loc3_;
  1399.             if(param1.type == SWFBridgeRequest.HIDE_MODAL_WINDOW_REQUEST)
  1400.             {
  1401.                param2.dispatchEvent(param1);
  1402.             }
  1403.             else
  1404.             {
  1405.                _loc3_.dispatchEvent(param1);
  1406.             }
  1407.             return false;
  1408.          }
  1409.          param1.data.skip = false;
  1410.          return true;
  1411.       }
  1412.       
  1413.       private function resetMouseCursorTracking(param1:Event) : void
  1414.       {
  1415.          var _loc2_:SWFBridgeRequest = null;
  1416.          var _loc3_:IEventDispatcher = null;
  1417.          if(isTopLevelRoot())
  1418.          {
  1419.             SystemManagerGlobals.showMouseCursor = true;
  1420.          }
  1421.          else if(swfBridgeGroup.parentBridge)
  1422.          {
  1423.             _loc2_ = new SWFBridgeRequest(SWFBridgeRequest.RESET_MOUSE_CURSOR_REQUEST);
  1424.             _loc3_ = swfBridgeGroup.parentBridge;
  1425.             _loc2_.requestor = _loc3_;
  1426.             _loc3_.dispatchEvent(_loc2_);
  1427.          }
  1428.       }
  1429.       
  1430.       mx_internal function addParentBridgeListeners() : void
  1431.       {
  1432.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  1433.          {
  1434.             SystemManager(topLevelSystemManager).mx_internal::addParentBridgeListeners();
  1435.             return;
  1436.          }
  1437.          var _loc1_:IEventDispatcher = swfBridgeGroup.parentBridge;
  1438.          _loc1_.addEventListener(SWFBridgeRequest.SET_ACTUAL_SIZE_REQUEST,setActualSizeRequestHandler);
  1439.          _loc1_.addEventListener(SWFBridgeRequest.GET_SIZE_REQUEST,getSizeRequestHandler);
  1440.          _loc1_.addEventListener(SWFBridgeRequest.ACTIVATE_POP_UP_REQUEST,activateRequestHandler);
  1441.          _loc1_.addEventListener(SWFBridgeRequest.DEACTIVATE_POP_UP_REQUEST,deactivateRequestHandler);
  1442.          _loc1_.addEventListener(SWFBridgeRequest.IS_BRIDGE_CHILD_REQUEST,isBridgeChildHandler);
  1443.          _loc1_.addEventListener(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1444.          _loc1_.addEventListener(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1445.          _loc1_.addEventListener(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,canActivateHandler);
  1446.          _loc1_.addEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_UNLOADING,beforeUnloadHandler);
  1447.       }
  1448.       
  1449.       public function get swfBridgeGroup() : ISWFBridgeGroup
  1450.       {
  1451.          if(mx_internal::topLevel)
  1452.          {
  1453.             return _swfBridgeGroup;
  1454.          }
  1455.          if(topLevelSystemManager)
  1456.          {
  1457.             return topLevelSystemManager.swfBridgeGroup;
  1458.          }
  1459.          return null;
  1460.       }
  1461.       
  1462.       override public function getChildByName(param1:String) : DisplayObject
  1463.       {
  1464.          return super.getChildByName(param1);
  1465.       }
  1466.       
  1467.       public function get measuredWidth() : Number
  1468.       {
  1469.          return !!mx_internal::topLevelWindow ? mx_internal::topLevelWindow.getExplicitOrMeasuredWidth() : loaderInfo.width;
  1470.       }
  1471.       
  1472.       public function removeChildBridge(param1:IEventDispatcher) : void
  1473.       {
  1474.          var _loc2_:IFocusManager = IFocusManager(bridgeToFocusManager[param1]);
  1475.          _loc2_.removeSWFBridge(param1);
  1476.          swfBridgeGroup.removeChildBridge(param1);
  1477.          delete bridgeToFocusManager[param1];
  1478.          mx_internal::removeChildBridgeListeners(param1);
  1479.       }
  1480.       
  1481.       mx_internal function removeChildBridgeListeners(param1:IEventDispatcher) : void
  1482.       {
  1483.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  1484.          {
  1485.             SystemManager(topLevelSystemManager).mx_internal::removeChildBridgeListeners(param1);
  1486.             return;
  1487.          }
  1488.          param1.removeEventListener(SWFBridgeRequest.ADD_POP_UP_REQUEST,addPopupRequestHandler);
  1489.          param1.removeEventListener(SWFBridgeRequest.REMOVE_POP_UP_REQUEST,removePopupRequestHandler);
  1490.          param1.removeEventListener(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,addPlaceholderPopupRequestHandler);
  1491.          param1.removeEventListener(SWFBridgeRequest.REMOVE_POP_UP_PLACE_HOLDER_REQUEST,removePlaceholderPopupRequestHandler);
  1492.          param1.removeEventListener(SWFBridgeEvent.BRIDGE_WINDOW_ACTIVATE,activateFormSandboxEventHandler);
  1493.          param1.removeEventListener(SWFBridgeEvent.BRIDGE_WINDOW_DEACTIVATE,deactivateFormSandboxEventHandler);
  1494.          param1.removeEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_ACTIVATE,activateApplicationSandboxEventHandler);
  1495.          param1.removeEventListener(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1496.          param1.removeEventListener(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1497.          param1.removeEventListener(SWFBridgeRequest.CREATE_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  1498.          param1.removeEventListener(SWFBridgeRequest.SHOW_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  1499.          param1.removeEventListener(SWFBridgeRequest.HIDE_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  1500.          param1.removeEventListener(SWFBridgeRequest.GET_VISIBLE_RECT_REQUEST,getVisibleRectRequestHandler);
  1501.          param1.removeEventListener(SWFBridgeRequest.HIDE_MOUSE_CURSOR_REQUEST,hideMouseCursorRequestHandler);
  1502.          param1.removeEventListener(SWFBridgeRequest.SHOW_MOUSE_CURSOR_REQUEST,showMouseCursorRequestHandler);
  1503.          param1.removeEventListener(SWFBridgeRequest.RESET_MOUSE_CURSOR_REQUEST,resetMouseCursorRequestHandler);
  1504.       }
  1505.       
  1506.       override public function addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  1507.       {
  1508.          ++mx_internal::noTopMostIndex;
  1509.          return mx_internal::rawChildren_addChildAt(param1,mx_internal::applicationIndex + param2);
  1510.       }
  1511.       
  1512.       private function Stage_resizeHandler(param1:Event = null) : void
  1513.       {
  1514.          var align:String;
  1515.          var h:Number;
  1516.          var w:Number;
  1517.          var x:Number;
  1518.          var y:Number;
  1519.          var m:Number = NaN;
  1520.          var n:Number = NaN;
  1521.          var sandboxScreen:Rectangle = null;
  1522.          var event:Event = param1;
  1523.          if(isDispatchingResizeEvent)
  1524.          {
  1525.             return;
  1526.          }
  1527.          w = 0;
  1528.          h = 0;
  1529.          try
  1530.          {
  1531.             m = loaderInfo.width;
  1532.             n = loaderInfo.height;
  1533.          }
  1534.          catch(error:Error)
  1535.          {
  1536.             return;
  1537.          }
  1538.          align = StageAlign.TOP_LEFT;
  1539.          try
  1540.          {
  1541.             if(stage)
  1542.             {
  1543.                w = stage.stageWidth;
  1544.                h = stage.stageHeight;
  1545.                align = stage.align;
  1546.             }
  1547.          }
  1548.          catch(error:SecurityError)
  1549.          {
  1550.             sandboxScreen = getSandboxScreen();
  1551.             w = sandboxScreen.width;
  1552.             h = sandboxScreen.height;
  1553.          }
  1554.          x = (m - w) / 2;
  1555.          y = (n - h) / 2;
  1556.          if(align == StageAlign.TOP)
  1557.          {
  1558.             y = 0;
  1559.          }
  1560.          else if(align == StageAlign.BOTTOM)
  1561.          {
  1562.             y = n - h;
  1563.          }
  1564.          else if(align == StageAlign.LEFT)
  1565.          {
  1566.             x = 0;
  1567.          }
  1568.          else if(align == StageAlign.RIGHT)
  1569.          {
  1570.             x = m - w;
  1571.          }
  1572.          else if(align == StageAlign.TOP_LEFT || align == "LT")
  1573.          {
  1574.             y = 0;
  1575.             x = 0;
  1576.          }
  1577.          else if(align == StageAlign.TOP_RIGHT)
  1578.          {
  1579.             y = 0;
  1580.             x = m - w;
  1581.          }
  1582.          else if(align == StageAlign.BOTTOM_LEFT)
  1583.          {
  1584.             y = n - h;
  1585.             x = 0;
  1586.          }
  1587.          else if(align == StageAlign.BOTTOM_RIGHT)
  1588.          {
  1589.             y = n - h;
  1590.             x = m - w;
  1591.          }
  1592.          if(!_screen)
  1593.          {
  1594.             _screen = new Rectangle();
  1595.          }
  1596.          _screen.x = x;
  1597.          _screen.y = y;
  1598.          _screen.width = w;
  1599.          _screen.height = h;
  1600.          if(isStageRoot)
  1601.          {
  1602.             _width = stage.stageWidth;
  1603.             _height = stage.stageHeight;
  1604.          }
  1605.          if(event)
  1606.          {
  1607.             resizeMouseCatcher();
  1608.             isDispatchingResizeEvent = true;
  1609.             dispatchEvent(event);
  1610.             isDispatchingResizeEvent = false;
  1611.          }
  1612.       }
  1613.       
  1614.       public function get swfBridge() : IEventDispatcher
  1615.       {
  1616.          if(swfBridgeGroup)
  1617.          {
  1618.             return swfBridgeGroup.parentBridge;
  1619.          }
  1620.          return null;
  1621.       }
  1622.       
  1623.       private function findRemotePopUp(param1:Object, param2:IEventDispatcher) : RemotePopUp
  1624.       {
  1625.          var _loc5_:RemotePopUp = null;
  1626.          var _loc3_:int = int(forms.length);
  1627.          var _loc4_:int = 0;
  1628.          while(_loc4_ < _loc3_)
  1629.          {
  1630.             if(isRemotePopUp(forms[_loc4_]))
  1631.             {
  1632.                _loc5_ = RemotePopUp(forms[_loc4_]);
  1633.                if(_loc5_.window == param1 && _loc5_.bridge == param2)
  1634.                {
  1635.                   return _loc5_;
  1636.                }
  1637.             }
  1638.             _loc4_++;
  1639.          }
  1640.          return null;
  1641.       }
  1642.       
  1643.       public function info() : Object
  1644.       {
  1645.          return {};
  1646.       }
  1647.       
  1648.       mx_internal function get toolTipIndex() : int
  1649.       {
  1650.          return _toolTipIndex;
  1651.       }
  1652.       
  1653.       public function setActualSize(param1:Number, param2:Number) : void
  1654.       {
  1655.          if(isStageRoot)
  1656.          {
  1657.             return;
  1658.          }
  1659.          _width = param1;
  1660.          _height = param2;
  1661.          if(mouseCatcher)
  1662.          {
  1663.             mouseCatcher.width = param1;
  1664.             mouseCatcher.height = param2;
  1665.          }
  1666.          dispatchEvent(new Event(Event.RESIZE));
  1667.       }
  1668.       
  1669.       private function removePlaceholderPopupRequestHandler(param1:Event) : void
  1670.       {
  1671.          var _loc3_:int = 0;
  1672.          var _loc4_:int = 0;
  1673.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  1674.          if(!forwardPlaceholderRequest(_loc2_,false))
  1675.          {
  1676.             _loc3_ = int(forms.length);
  1677.             _loc4_ = 0;
  1678.             while(_loc4_ < _loc3_)
  1679.             {
  1680.                if(isRemotePopUp(forms[_loc4_]))
  1681.                {
  1682.                   if(forms[_loc4_].window == _loc2_.data.placeHolderId && forms[_loc4_].bridge == _loc2_.requestor)
  1683.                   {
  1684.                      forms.splice(_loc4_,1);
  1685.                      break;
  1686.                   }
  1687.                }
  1688.                _loc4_++;
  1689.             }
  1690.          }
  1691.       }
  1692.       
  1693.       public function set focusPane(param1:Sprite) : void
  1694.       {
  1695.          if(param1)
  1696.          {
  1697.             addChild(param1);
  1698.             param1.x = 0;
  1699.             param1.y = 0;
  1700.             param1.scrollRect = null;
  1701.             _focusPane = param1;
  1702.          }
  1703.          else
  1704.          {
  1705.             removeChild(_focusPane);
  1706.             _focusPane = null;
  1707.          }
  1708.       }
  1709.       
  1710.       mx_internal function removeParentBridgeListeners() : void
  1711.       {
  1712.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  1713.          {
  1714.             SystemManager(topLevelSystemManager).mx_internal::removeParentBridgeListeners();
  1715.             return;
  1716.          }
  1717.          var _loc1_:IEventDispatcher = swfBridgeGroup.parentBridge;
  1718.          _loc1_.removeEventListener(SWFBridgeRequest.SET_ACTUAL_SIZE_REQUEST,setActualSizeRequestHandler);
  1719.          _loc1_.removeEventListener(SWFBridgeRequest.GET_SIZE_REQUEST,getSizeRequestHandler);
  1720.          _loc1_.removeEventListener(SWFBridgeRequest.ACTIVATE_POP_UP_REQUEST,activateRequestHandler);
  1721.          _loc1_.removeEventListener(SWFBridgeRequest.DEACTIVATE_POP_UP_REQUEST,deactivateRequestHandler);
  1722.          _loc1_.removeEventListener(SWFBridgeRequest.IS_BRIDGE_CHILD_REQUEST,isBridgeChildHandler);
  1723.          _loc1_.removeEventListener(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1724.          _loc1_.removeEventListener(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1725.          _loc1_.removeEventListener(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,canActivateHandler);
  1726.          _loc1_.removeEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_UNLOADING,beforeUnloadHandler);
  1727.       }
  1728.       
  1729.       override public function get parent() : DisplayObjectContainer
  1730.       {
  1731.          try
  1732.          {
  1733.             return super.parent;
  1734.          }
  1735.          catch(e:SecurityError)
  1736.          {
  1737.          }
  1738.          return null;
  1739.       }
  1740.       
  1741.       private function eventListenerRequestHandler(param1:Event) : void
  1742.       {
  1743.          var _loc2_:String = null;
  1744.          if(param1 is EventListenerRequest)
  1745.          {
  1746.             return;
  1747.          }
  1748.          var _loc3_:EventListenerRequest = EventListenerRequest.marshal(param1);
  1749.          if(param1.type == EventListenerRequest.ADD_EVENT_LISTENER_REQUEST)
  1750.          {
  1751.             if(!eventProxy)
  1752.             {
  1753.                eventProxy = new EventProxy(this);
  1754.             }
  1755.             _loc2_ = EventUtil.sandboxMouseEventMap[_loc3_.eventType];
  1756.             if(_loc2_)
  1757.             {
  1758.                if(isTopLevelRoot())
  1759.                {
  1760.                   stage.addEventListener(MouseEvent.MOUSE_MOVE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  1761.                }
  1762.                else
  1763.                {
  1764.                   super.addEventListener(MouseEvent.MOUSE_MOVE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  1765.                }
  1766.                addEventListenerToSandboxes(_loc3_.eventType,sandboxMouseListener,true,_loc3_.priority,_loc3_.useWeakReference,param1.target as IEventDispatcher);
  1767.                addEventListenerToOtherSystemManagers(_loc3_.eventType,otherSystemManagerMouseListener,true,_loc3_.priority,_loc3_.useWeakReference);
  1768.                if(getSandboxRoot() == this)
  1769.                {
  1770.                   if(isTopLevelRoot() && (_loc2_ == MouseEvent.MOUSE_UP || _loc2_ == MouseEvent.MOUSE_MOVE))
  1771.                   {
  1772.                      stage.addEventListener(_loc2_,eventProxy.marshalListener,false,_loc3_.priority,_loc3_.useWeakReference);
  1773.                   }
  1774.                   super.addEventListener(_loc2_,eventProxy.marshalListener,true,_loc3_.priority,_loc3_.useWeakReference);
  1775.                }
  1776.             }
  1777.          }
  1778.          else if(param1.type == EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST)
  1779.          {
  1780.             _loc2_ = EventUtil.sandboxMouseEventMap[_loc3_.eventType];
  1781.             if(_loc2_)
  1782.             {
  1783.                removeEventListenerFromOtherSystemManagers(_loc3_.eventType,otherSystemManagerMouseListener,true);
  1784.                removeEventListenerFromSandboxes(_loc3_.eventType,sandboxMouseListener,true,param1.target as IEventDispatcher);
  1785.                if(getSandboxRoot() == this)
  1786.                {
  1787.                   if(isTopLevelRoot() && (_loc2_ == MouseEvent.MOUSE_UP || _loc2_ == MouseEvent.MOUSE_MOVE))
  1788.                   {
  1789.                      stage.removeEventListener(_loc2_,eventProxy.marshalListener);
  1790.                   }
  1791.                   super.removeEventListener(_loc2_,eventProxy.marshalListener,true);
  1792.                }
  1793.             }
  1794.          }
  1795.       }
  1796.       
  1797.       mx_internal function set applicationIndex(param1:int) : void
  1798.       {
  1799.          _applicationIndex = param1;
  1800.       }
  1801.       
  1802.       private function showMouseCursorRequestHandler(param1:Event) : void
  1803.       {
  1804.          var _loc3_:IEventDispatcher = null;
  1805.          if(!isTopLevelRoot() && param1 is SWFBridgeRequest)
  1806.          {
  1807.             return;
  1808.          }
  1809.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  1810.          if(!isTopLevelRoot())
  1811.          {
  1812.             _loc3_ = swfBridgeGroup.parentBridge;
  1813.             _loc2_.requestor = _loc3_;
  1814.             _loc3_.dispatchEvent(_loc2_);
  1815.             Object(param1).data = _loc2_.data;
  1816.          }
  1817.          else if(eventProxy)
  1818.          {
  1819.             Object(param1).data = SystemManagerGlobals.showMouseCursor;
  1820.          }
  1821.       }
  1822.       
  1823.       public function get childAllowsParent() : Boolean
  1824.       {
  1825.          try
  1826.          {
  1827.             return loaderInfo.childAllowsParent;
  1828.          }
  1829.          catch(error:Error)
  1830.          {
  1831.          }
  1832.          return false;
  1833.       }
  1834.       
  1835.       public function dispatchEventFromSWFBridges(param1:Event, param2:IEventDispatcher = null, param3:Boolean = false, param4:Boolean = false) : void
  1836.       {
  1837.          var _loc5_:Event = null;
  1838.          if(param4)
  1839.          {
  1840.             dispatchEventToOtherSystemManagers(param1);
  1841.          }
  1842.          if(!swfBridgeGroup)
  1843.          {
  1844.             return;
  1845.          }
  1846.          _loc5_ = param1.clone();
  1847.          if(param3)
  1848.          {
  1849.             currentSandboxEvent = _loc5_;
  1850.          }
  1851.          var _loc6_:IEventDispatcher = swfBridgeGroup.parentBridge;
  1852.          if((Boolean(_loc6_)) && _loc6_ != param2)
  1853.          {
  1854.             if(_loc5_ is SWFBridgeRequest)
  1855.             {
  1856.                SWFBridgeRequest(_loc5_).requestor = _loc6_;
  1857.             }
  1858.             _loc6_.dispatchEvent(_loc5_);
  1859.          }
  1860.          var _loc7_:Array = swfBridgeGroup.getChildBridges();
  1861.          var _loc8_:int = 0;
  1862.          while(_loc8_ < _loc7_.length)
  1863.          {
  1864.             if(_loc7_[_loc8_] != param2)
  1865.             {
  1866.                _loc5_ = param1.clone();
  1867.                if(param3)
  1868.                {
  1869.                   currentSandboxEvent = _loc5_;
  1870.                }
  1871.                if(_loc5_ is SWFBridgeRequest)
  1872.                {
  1873.                   SWFBridgeRequest(_loc5_).requestor = IEventDispatcher(_loc7_[_loc8_]);
  1874.                }
  1875.                IEventDispatcher(_loc7_[_loc8_]).dispatchEvent(_loc5_);
  1876.             }
  1877.             _loc8_++;
  1878.          }
  1879.          currentSandboxEvent = null;
  1880.       }
  1881.       
  1882.       private function setActualSizeRequestHandler(param1:Event) : void
  1883.       {
  1884.          var _loc2_:Object = Object(param1);
  1885.          setActualSize(_loc2_.data.width,_loc2_.data.height);
  1886.       }
  1887.       
  1888.       private function executeCallbacks() : void
  1889.       {
  1890.          var _loc1_:Function = null;
  1891.          if(!parent && parentAllowsChild)
  1892.          {
  1893.             return;
  1894.          }
  1895.          while(initCallbackFunctions.length > 0)
  1896.          {
  1897.             _loc1_ = initCallbackFunctions.shift();
  1898.             _loc1_(this);
  1899.          }
  1900.       }
  1901.       
  1902.       private function addPlaceholderId(param1:String, param2:String, param3:IEventDispatcher, param4:Object) : void
  1903.       {
  1904.          if(!param3)
  1905.          {
  1906.             throw new Error();
  1907.          }
  1908.          if(!idToPlaceholder)
  1909.          {
  1910.             idToPlaceholder = [];
  1911.          }
  1912.          idToPlaceholder[param1] = new PlaceholderData(param2,param3,param4);
  1913.       }
  1914.       
  1915.       private function canActivateHandler(param1:Event) : void
  1916.       {
  1917.          var _loc3_:SWFBridgeRequest = null;
  1918.          var _loc6_:PlaceholderData = null;
  1919.          var _loc7_:RemotePopUp = null;
  1920.          var _loc8_:SystemManagerProxy = null;
  1921.          var _loc9_:IFocusManagerContainer = null;
  1922.          var _loc10_:IEventDispatcher = null;
  1923.          var _loc2_:Object = Object(param1);
  1924.          var _loc4_:Object = _loc2_.data;
  1925.          var _loc5_:String = null;
  1926.          if(_loc2_.data is String)
  1927.          {
  1928.             _loc6_ = idToPlaceholder[_loc2_.data];
  1929.             _loc4_ = _loc6_.data;
  1930.             _loc5_ = _loc6_.id;
  1931.             if(_loc5_ == null)
  1932.             {
  1933.                _loc7_ = findRemotePopUp(_loc4_,_loc6_.bridge);
  1934.                if(_loc7_)
  1935.                {
  1936.                   _loc3_ = new SWFBridgeRequest(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,false,false,IEventDispatcher(_loc7_.bridge),_loc7_.window);
  1937.                   if(_loc7_.bridge)
  1938.                   {
  1939.                      _loc7_.bridge.dispatchEvent(_loc3_);
  1940.                      _loc2_.data = _loc3_.data;
  1941.                   }
  1942.                   return;
  1943.                }
  1944.             }
  1945.          }
  1946.          if(_loc4_ is SystemManagerProxy)
  1947.          {
  1948.             _loc8_ = SystemManagerProxy(_loc4_);
  1949.             _loc9_ = mx_internal::findFocusManagerContainer(_loc8_);
  1950.             _loc2_.data = _loc8_ && _loc9_ && canActivateLocalComponent(_loc9_);
  1951.          }
  1952.          else if(_loc4_ is IFocusManagerContainer)
  1953.          {
  1954.             _loc2_.data = canActivateLocalComponent(_loc4_);
  1955.          }
  1956.          else
  1957.          {
  1958.             if(!(_loc4_ is IEventDispatcher))
  1959.             {
  1960.                throw new Error();
  1961.             }
  1962.             _loc10_ = IEventDispatcher(_loc4_);
  1963.             _loc3_ = new SWFBridgeRequest(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,false,false,_loc10_,_loc5_);
  1964.             if(_loc10_)
  1965.             {
  1966.                _loc10_.dispatchEvent(_loc3_);
  1967.                _loc2_.data = _loc3_.data;
  1968.             }
  1969.          }
  1970.       }
  1971.       
  1972.       private function docFrameListener(param1:Event) : void
  1973.       {
  1974.          if(currentFrame == 2)
  1975.          {
  1976.             removeEventListener(Event.ENTER_FRAME,docFrameListener);
  1977.             if(totalFrames > 2)
  1978.             {
  1979.                addEventListener(Event.ENTER_FRAME,extraFrameListener);
  1980.             }
  1981.             mx_internal::docFrameHandler();
  1982.          }
  1983.       }
  1984.       
  1985.       public function get popUpChildren() : IChildList
  1986.       {
  1987.          if(!mx_internal::topLevel)
  1988.          {
  1989.             return _topLevelSystemManager.popUpChildren;
  1990.          }
  1991.          if(!_popUpChildren)
  1992.          {
  1993.             _popUpChildren = new SystemChildrenList(this,new QName(mx_internal,"noTopMostIndex"),new QName(mx_internal,"topMostIndex"));
  1994.          }
  1995.          return _popUpChildren;
  1996.       }
  1997.       
  1998.       private function addEventListenerToSandboxes(param1:String, param2:Function, param3:Boolean = false, param4:int = 0, param5:Boolean = false, param6:IEventDispatcher = null) : void
  1999.       {
  2000.          var _loc10_:int = 0;
  2001.          var _loc11_:IEventDispatcher = null;
  2002.          if(!swfBridgeGroup)
  2003.          {
  2004.             return;
  2005.          }
  2006.          var _loc7_:EventListenerRequest = new EventListenerRequest(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,false,false,param1,param3,param4,param5);
  2007.          var _loc8_:IEventDispatcher = swfBridgeGroup.parentBridge;
  2008.          if((Boolean(_loc8_)) && _loc8_ != param6)
  2009.          {
  2010.             _loc8_.addEventListener(param1,param2,false,param4,param5);
  2011.          }
  2012.          var _loc9_:Array = swfBridgeGroup.getChildBridges();
  2013.          while(_loc10_ < _loc9_.length)
  2014.          {
  2015.             _loc11_ = IEventDispatcher(_loc9_[_loc10_]);
  2016.             if(_loc11_ != param6)
  2017.             {
  2018.                _loc11_.addEventListener(param1,param2,false,param4,param5);
  2019.             }
  2020.             _loc10_++;
  2021.          }
  2022.          dispatchEventFromSWFBridges(_loc7_,param6);
  2023.       }
  2024.       
  2025.       private function forwardFormEvent(param1:SWFBridgeEvent) : Boolean
  2026.       {
  2027.          var _loc3_:DisplayObject = null;
  2028.          if(isTopLevelRoot())
  2029.          {
  2030.             return false;
  2031.          }
  2032.          var _loc2_:IEventDispatcher = swfBridgeGroup.parentBridge;
  2033.          if(_loc2_)
  2034.          {
  2035.             _loc3_ = getSandboxRoot();
  2036.             param1.data.notifier = _loc2_;
  2037.             if(_loc3_ == this)
  2038.             {
  2039.                if(!(param1.data.window is String))
  2040.                {
  2041.                   param1.data.window = NameUtil.displayObjectToString(DisplayObject(param1.data.window));
  2042.                }
  2043.                else
  2044.                {
  2045.                   param1.data.window = NameUtil.displayObjectToString(DisplayObject(this)) + "." + param1.data.window;
  2046.                }
  2047.                _loc2_.dispatchEvent(param1);
  2048.             }
  2049.             else
  2050.             {
  2051.                if(param1.data.window is String)
  2052.                {
  2053.                   param1.data.window = NameUtil.displayObjectToString(DisplayObject(this)) + "." + param1.data.window;
  2054.                }
  2055.                _loc3_.dispatchEvent(param1);
  2056.             }
  2057.          }
  2058.          return true;
  2059.       }
  2060.       
  2061.       public function set explicitHeight(param1:Number) : void
  2062.       {
  2063.          _explicitHeight = param1;
  2064.       }
  2065.       
  2066.       override public function removeChild(param1:DisplayObject) : DisplayObject
  2067.       {
  2068.          --mx_internal::noTopMostIndex;
  2069.          return mx_internal::rawChildren_removeChild(param1);
  2070.       }
  2071.       
  2072.       mx_internal function rawChildren_removeChild(param1:DisplayObject) : DisplayObject
  2073.       {
  2074.          mx_internal::removingChild(param1);
  2075.          super.removeChild(param1);
  2076.          mx_internal::childRemoved(param1);
  2077.          return param1;
  2078.       }
  2079.       
  2080.       final mx_internal function get $numChildren() : int
  2081.       {
  2082.          return super.numChildren;
  2083.       }
  2084.       
  2085.       public function get toolTipChildren() : IChildList
  2086.       {
  2087.          if(!mx_internal::topLevel)
  2088.          {
  2089.             return _topLevelSystemManager.toolTipChildren;
  2090.          }
  2091.          if(!_toolTipChildren)
  2092.          {
  2093.             _toolTipChildren = new SystemChildrenList(this,new QName(mx_internal,"topMostIndex"),new QName(mx_internal,"toolTipIndex"));
  2094.          }
  2095.          return _toolTipChildren;
  2096.       }
  2097.       
  2098.       public function create(... rest) : Object
  2099.       {
  2100.          var _loc4_:String = null;
  2101.          var _loc5_:int = 0;
  2102.          var _loc6_:int = 0;
  2103.          var _loc2_:String = info()["mainClassName"];
  2104.          if(_loc2_ == null)
  2105.          {
  2106.             _loc4_ = loaderInfo.loaderURL;
  2107.             _loc5_ = int(_loc4_.lastIndexOf("."));
  2108.             _loc6_ = int(_loc4_.lastIndexOf("/"));
  2109.             _loc2_ = _loc4_.substring(_loc6_ + 1,_loc5_);
  2110.          }
  2111.          var _loc3_:Class = Class(getDefinitionByName(_loc2_));
  2112.          return !!_loc3_ ? new _loc3_() : null;
  2113.       }
  2114.       
  2115.       override public function get stage() : Stage
  2116.       {
  2117.          var _loc2_:DisplayObject = null;
  2118.          if(_stage)
  2119.          {
  2120.             return _stage;
  2121.          }
  2122.          var _loc1_:Stage = super.stage;
  2123.          if(_loc1_)
  2124.          {
  2125.             _stage = _loc1_;
  2126.             return _loc1_;
  2127.          }
  2128.          if(!mx_internal::topLevel && Boolean(_topLevelSystemManager))
  2129.          {
  2130.             _stage = _topLevelSystemManager.stage;
  2131.             return _stage;
  2132.          }
  2133.          if(!isStageRoot && mx_internal::topLevel)
  2134.          {
  2135.             _loc2_ = getTopLevelRoot();
  2136.             if(_loc2_)
  2137.             {
  2138.                _stage = _loc2_.stage;
  2139.                return _stage;
  2140.             }
  2141.          }
  2142.          return null;
  2143.       }
  2144.       
  2145.       override public function addChild(param1:DisplayObject) : DisplayObject
  2146.       {
  2147.          ++mx_internal::noTopMostIndex;
  2148.          return mx_internal::rawChildren_addChildAt(param1,mx_internal::noTopMostIndex - 1);
  2149.       }
  2150.       
  2151.       private function removeRemotePopUp(param1:RemotePopUp) : void
  2152.       {
  2153.          var _loc2_:int = int(forms.length);
  2154.          var _loc3_:int = 0;
  2155.          while(_loc3_ < _loc2_)
  2156.          {
  2157.             if(isRemotePopUp(forms[_loc3_]))
  2158.             {
  2159.                if(forms[_loc3_].window == param1.window && forms[_loc3_].bridge == param1.bridge)
  2160.                {
  2161.                   if(forms[_loc3_] == param1)
  2162.                   {
  2163.                      deactivateForm(param1);
  2164.                   }
  2165.                   forms.splice(_loc3_,1);
  2166.                   break;
  2167.                }
  2168.             }
  2169.             _loc3_++;
  2170.          }
  2171.       }
  2172.       
  2173.       private function deactivateRemotePopUp(param1:Object) : void
  2174.       {
  2175.          var _loc2_:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.DEACTIVATE_POP_UP_REQUEST,false,false,param1.bridge,param1.window);
  2176.          var _loc3_:Object = param1.bridge;
  2177.          if(_loc3_)
  2178.          {
  2179.             _loc3_.dispatchEvent(_loc2_);
  2180.          }
  2181.       }
  2182.       
  2183.       override public function getChildIndex(param1:DisplayObject) : int
  2184.       {
  2185.          return super.getChildIndex(param1) - mx_internal::applicationIndex;
  2186.       }
  2187.       
  2188.       mx_internal function rawChildren_getChildIndex(param1:DisplayObject) : int
  2189.       {
  2190.          return super.getChildIndex(param1);
  2191.       }
  2192.       
  2193.       public function activate(param1:IFocusManagerContainer) : void
  2194.       {
  2195.          activateForm(param1);
  2196.       }
  2197.       
  2198.       public function getSandboxRoot() : DisplayObject
  2199.       {
  2200.          var parent:DisplayObject = null;
  2201.          var lastParent:DisplayObject = null;
  2202.          var loader:Loader = null;
  2203.          var loaderInfo:LoaderInfo = null;
  2204.          var sm:ISystemManager = this;
  2205.          try
  2206.          {
  2207.             if(sm.topLevelSystemManager)
  2208.             {
  2209.                sm = sm.topLevelSystemManager;
  2210.             }
  2211.             parent = DisplayObject(sm).parent;
  2212.             if(parent is Stage)
  2213.             {
  2214.                return DisplayObject(sm);
  2215.             }
  2216.             if(Boolean(parent) && !parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot",false,true)))
  2217.             {
  2218.                return this;
  2219.             }
  2220.             lastParent = parent;
  2221.             while(parent)
  2222.             {
  2223.                if(parent is Stage)
  2224.                {
  2225.                   return lastParent;
  2226.                }
  2227.                if(!parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot",false,true)))
  2228.                {
  2229.                   return lastParent;
  2230.                }
  2231.                if(parent is Loader)
  2232.                {
  2233.                   loader = Loader(parent);
  2234.                   loaderInfo = loader.contentLoaderInfo;
  2235.                   if(!loaderInfo.childAllowsParent)
  2236.                   {
  2237.                      return loaderInfo.content;
  2238.                   }
  2239.                }
  2240.                lastParent = parent;
  2241.                parent = parent.parent;
  2242.             }
  2243.          }
  2244.          catch(error:SecurityError)
  2245.          {
  2246.          }
  2247.          return lastParent != null ? lastParent : DisplayObject(sm);
  2248.       }
  2249.       
  2250.       private function deferredNextFrame() : void
  2251.       {
  2252.          if(currentFrame + 1 > totalFrames)
  2253.          {
  2254.             return;
  2255.          }
  2256.          if(currentFrame + 1 <= framesLoaded)
  2257.          {
  2258.             nextFrame();
  2259.          }
  2260.          else
  2261.          {
  2262.             nextFrameTimer = new Timer(100);
  2263.             nextFrameTimer.addEventListener(TimerEvent.TIMER,nextFrameTimerHandler);
  2264.             nextFrameTimer.start();
  2265.          }
  2266.       }
  2267.       
  2268.       mx_internal function get cursorIndex() : int
  2269.       {
  2270.          return _cursorIndex;
  2271.       }
  2272.       
  2273.       mx_internal function rawChildren_contains(param1:DisplayObject) : Boolean
  2274.       {
  2275.          return super.contains(param1);
  2276.       }
  2277.       
  2278.       override public function setChildIndex(param1:DisplayObject, param2:int) : void
  2279.       {
  2280.          super.setChildIndex(param1,mx_internal::applicationIndex + param2);
  2281.       }
  2282.       
  2283.       public function get document() : Object
  2284.       {
  2285.          return _document;
  2286.       }
  2287.       
  2288.       private function resizeMouseCatcher() : void
  2289.       {
  2290.          var g:Graphics = null;
  2291.          var s:Rectangle = null;
  2292.          if(mouseCatcher)
  2293.          {
  2294.             try
  2295.             {
  2296.                g = mouseCatcher.graphics;
  2297.                s = screen;
  2298.                g.clear();
  2299.                g.beginFill(0,0);
  2300.                g.drawRect(0,0,s.width,s.height);
  2301.                g.endFill();
  2302.             }
  2303.             catch(e:SecurityError)
  2304.             {
  2305.             }
  2306.          }
  2307.       }
  2308.       
  2309.       private function extraFrameListener(param1:Event) : void
  2310.       {
  2311.          if(lastFrame == currentFrame)
  2312.          {
  2313.             return;
  2314.          }
  2315.          lastFrame = currentFrame;
  2316.          if(currentFrame + 1 > totalFrames)
  2317.          {
  2318.             removeEventListener(Event.ENTER_FRAME,extraFrameListener);
  2319.          }
  2320.          extraFrameHandler();
  2321.       }
  2322.       
  2323.       private function addPopupRequestHandler(param1:Event) : void
  2324.       {
  2325.          var _loc3_:* = false;
  2326.          var _loc4_:IChildList = null;
  2327.          var _loc6_:ISWFBridgeProvider = null;
  2328.          var _loc7_:SWFBridgeRequest = null;
  2329.          if(param1.target != this && param1 is SWFBridgeRequest)
  2330.          {
  2331.             return;
  2332.          }
  2333.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  2334.          if(param1.target != this)
  2335.          {
  2336.             _loc6_ = swfBridgeGroup.getChildBridgeProvider(IEventDispatcher(param1.target));
  2337.             if(!SecurityUtil.hasMutualTrustBetweenParentAndChild(_loc6_))
  2338.             {
  2339.                return;
  2340.             }
  2341.          }
  2342.          if(Boolean(swfBridgeGroup.parentBridge) && SecurityUtil.hasMutualTrustBetweenParentAndChild(this))
  2343.          {
  2344.             _loc2_.requestor = swfBridgeGroup.parentBridge;
  2345.             getSandboxRoot().dispatchEvent(_loc2_);
  2346.             return;
  2347.          }
  2348.          if(!_loc2_.data.childList || _loc2_.data.childList == PopUpManagerChildList.PARENT)
  2349.          {
  2350.             _loc3_ = Boolean(_loc2_.data.parent) && popUpChildren.contains(_loc2_.data.parent);
  2351.          }
  2352.          else
  2353.          {
  2354.             _loc3_ = _loc2_.data.childList == PopUpManagerChildList.POPUP;
  2355.          }
  2356.          _loc4_ = _loc3_ ? popUpChildren : this;
  2357.          _loc4_.addChild(DisplayObject(_loc2_.data.window));
  2358.          if(_loc2_.data.modal)
  2359.          {
  2360.             ++numModalWindows;
  2361.          }
  2362.          var _loc5_:RemotePopUp = new RemotePopUp(_loc2_.data.window,_loc2_.requestor);
  2363.          forms.push(_loc5_);
  2364.          if(!isTopLevelRoot() && Boolean(swfBridgeGroup))
  2365.          {
  2366.             _loc7_ = new SWFBridgeRequest(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,false,false,_loc2_.requestor,{"window":_loc2_.data.window});
  2367.             _loc7_.data.placeHolderId = NameUtil.displayObjectToString(DisplayObject(_loc2_.data.window));
  2368.             dispatchEvent(_loc7_);
  2369.          }
  2370.       }
  2371.       
  2372.       override public function get height() : Number
  2373.       {
  2374.          return _height;
  2375.       }
  2376.       
  2377.       mx_internal function rawChildren_getChildAt(param1:int) : DisplayObject
  2378.       {
  2379.          return super.getChildAt(param1);
  2380.       }
  2381.       
  2382.       private function systemManagerHandler(param1:Event) : void
  2383.       {
  2384.          if(param1["name"] == "sameSandbox")
  2385.          {
  2386.             param1["value"] = currentSandboxEvent == param1["value"];
  2387.             return;
  2388.          }
  2389.          if(param1["name"] == "hasSWFBridges")
  2390.          {
  2391.             param1["value"] = hasSWFBridges();
  2392.             return;
  2393.          }
  2394.          if(param1 is InterManagerRequest)
  2395.          {
  2396.             return;
  2397.          }
  2398.          var _loc2_:String = param1["name"];
  2399.          switch(_loc2_)
  2400.          {
  2401.             case "popUpChildren.addChild":
  2402.                popUpChildren.addChild(param1["value"]);
  2403.                break;
  2404.             case "popUpChildren.removeChild":
  2405.                popUpChildren.removeChild(param1["value"]);
  2406.                break;
  2407.             case "cursorChildren.addChild":
  2408.                cursorChildren.addChild(param1["value"]);
  2409.                break;
  2410.             case "cursorChildren.removeChild":
  2411.                cursorChildren.removeChild(param1["value"]);
  2412.                break;
  2413.             case "toolTipChildren.addChild":
  2414.                toolTipChildren.addChild(param1["value"]);
  2415.                break;
  2416.             case "toolTipChildren.removeChild":
  2417.                toolTipChildren.removeChild(param1["value"]);
  2418.                break;
  2419.             case "screen":
  2420.                param1["value"] = screen;
  2421.                break;
  2422.             case "application":
  2423.                param1["value"] = application;
  2424.                break;
  2425.             case "isTopLevelRoot":
  2426.                param1["value"] = isTopLevelRoot();
  2427.                break;
  2428.             case "getVisibleApplicationRect":
  2429.                param1["value"] = getVisibleApplicationRect();
  2430.                break;
  2431.             case "bringToFront":
  2432.                if(param1["value"].topMost)
  2433.                {
  2434.                   popUpChildren.setChildIndex(DisplayObject(param1["value"].popUp),popUpChildren.numChildren - 1);
  2435.                }
  2436.                else
  2437.                {
  2438.                   setChildIndex(DisplayObject(param1["value"].popUp),numChildren - 1);
  2439.                }
  2440.          }
  2441.       }
  2442.       
  2443.       private function activateRemotePopUp(param1:Object) : void
  2444.       {
  2445.          var _loc2_:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.ACTIVATE_POP_UP_REQUEST,false,false,param1.bridge,param1.window);
  2446.          var _loc3_:Object = param1.bridge;
  2447.          if(_loc3_)
  2448.          {
  2449.             _loc3_.dispatchEvent(_loc2_);
  2450.          }
  2451.       }
  2452.       
  2453.       mx_internal function set noTopMostIndex(param1:int) : void
  2454.       {
  2455.          var _loc2_:int = param1 - _noTopMostIndex;
  2456.          _noTopMostIndex = param1;
  2457.          mx_internal::topMostIndex += _loc2_;
  2458.       }
  2459.       
  2460.       override public function getObjectsUnderPoint(param1:Point) : Array
  2461.       {
  2462.          var _loc5_:DisplayObject = null;
  2463.          var _loc6_:Array = null;
  2464.          var _loc2_:Array = [];
  2465.          var _loc3_:int = mx_internal::topMostIndex;
  2466.          var _loc4_:int = 0;
  2467.          while(_loc4_ < _loc3_)
  2468.          {
  2469.             _loc5_ = super.getChildAt(_loc4_);
  2470.             if(_loc5_ is DisplayObjectContainer)
  2471.             {
  2472.                _loc6_ = DisplayObjectContainer(_loc5_).getObjectsUnderPoint(param1);
  2473.                if(_loc6_)
  2474.                {
  2475.                   _loc2_ = _loc2_.concat(_loc6_);
  2476.                }
  2477.             }
  2478.             _loc4_++;
  2479.          }
  2480.          return _loc2_;
  2481.       }
  2482.       
  2483.       mx_internal function get topMostIndex() : int
  2484.       {
  2485.          return _topMostIndex;
  2486.       }
  2487.       
  2488.       mx_internal function regenerateStyleCache(param1:Boolean) : void
  2489.       {
  2490.          var _loc5_:IStyleClient = null;
  2491.          var _loc2_:Boolean = false;
  2492.          var _loc3_:int = rawChildren.numChildren;
  2493.          var _loc4_:int = 0;
  2494.          while(_loc4_ < _loc3_)
  2495.          {
  2496.             _loc5_ = rawChildren.getChildAt(_loc4_) as IStyleClient;
  2497.             if(_loc5_)
  2498.             {
  2499.                _loc5_.regenerateStyleCache(param1);
  2500.             }
  2501.             if(isTopLevelWindow(DisplayObject(_loc5_)))
  2502.             {
  2503.                _loc2_ = true;
  2504.             }
  2505.             _loc3_ = rawChildren.numChildren;
  2506.             _loc4_++;
  2507.          }
  2508.          if(!_loc2_ && mx_internal::topLevelWindow is IStyleClient)
  2509.          {
  2510.             IStyleClient(mx_internal::topLevelWindow).regenerateStyleCache(param1);
  2511.          }
  2512.       }
  2513.       
  2514.       public function addFocusManager(param1:IFocusManagerContainer) : void
  2515.       {
  2516.          forms.push(param1);
  2517.       }
  2518.       
  2519.       private function deactivateFormSandboxEventHandler(param1:Event) : void
  2520.       {
  2521.          if(param1 is SWFBridgeRequest)
  2522.          {
  2523.             return;
  2524.          }
  2525.          var _loc2_:SWFBridgeEvent = SWFBridgeEvent.marshal(param1);
  2526.          if(!forwardFormEvent(_loc2_))
  2527.          {
  2528.             if(isRemotePopUp(form) && RemotePopUp(form).window == _loc2_.data.window && RemotePopUp(form).bridge == _loc2_.data.notifier)
  2529.             {
  2530.                deactivateForm(form);
  2531.             }
  2532.          }
  2533.       }
  2534.       
  2535.       public function set swfBridgeGroup(param1:ISWFBridgeGroup) : void
  2536.       {
  2537.          if(mx_internal::topLevel)
  2538.          {
  2539.             _swfBridgeGroup = param1;
  2540.          }
  2541.          else if(topLevelSystemManager)
  2542.          {
  2543.             SystemManager(topLevelSystemManager).swfBridgeGroup = param1;
  2544.          }
  2545.       }
  2546.       
  2547.       mx_internal function rawChildren_setChildIndex(param1:DisplayObject, param2:int) : void
  2548.       {
  2549.          super.setChildIndex(param1,param2);
  2550.       }
  2551.       
  2552.       private function mouseUpHandler(param1:MouseEvent) : void
  2553.       {
  2554.          mx_internal::idleCounter = 0;
  2555.       }
  2556.       
  2557.       mx_internal function childAdded(param1:DisplayObject) : void
  2558.       {
  2559.          param1.dispatchEvent(new FlexEvent(FlexEvent.ADD));
  2560.          if(param1 is IUIComponent)
  2561.          {
  2562.             IUIComponent(param1).initialize();
  2563.          }
  2564.       }
  2565.       
  2566.       public function isFontFaceEmbedded(param1:TextFormat) : Boolean
  2567.       {
  2568.          var _loc6_:Font = null;
  2569.          var _loc7_:String = null;
  2570.          var _loc2_:String = param1.font;
  2571.          var _loc3_:Array = Font.enumerateFonts();
  2572.          var _loc4_:int = 0;
  2573.          while(_loc4_ < _loc3_.length)
  2574.          {
  2575.             _loc6_ = Font(_loc3_[_loc4_]);
  2576.             if(_loc6_.fontName == _loc2_)
  2577.             {
  2578.                _loc7_ = "regular";
  2579.                if(Boolean(param1.bold) && Boolean(param1.italic))
  2580.                {
  2581.                   _loc7_ = "boldItalic";
  2582.                }
  2583.                else if(param1.bold)
  2584.                {
  2585.                   _loc7_ = "bold";
  2586.                }
  2587.                else if(param1.italic)
  2588.                {
  2589.                   _loc7_ = "italic";
  2590.                }
  2591.                if(_loc6_.fontStyle == _loc7_)
  2592.                {
  2593.                   return true;
  2594.                }
  2595.             }
  2596.             _loc4_++;
  2597.          }
  2598.          if(!_loc2_ || !embeddedFontList || !embeddedFontList[_loc2_])
  2599.          {
  2600.             return false;
  2601.          }
  2602.          var _loc5_:Object = embeddedFontList[_loc2_];
  2603.          return !(Boolean(param1.bold) && !_loc5_.bold || Boolean(param1.italic) && !_loc5_.italic || !param1.bold && !param1.italic && !_loc5_.regular);
  2604.       }
  2605.       
  2606.       private function forwardPlaceholderRequest(param1:SWFBridgeRequest, param2:Boolean) : Boolean
  2607.       {
  2608.          if(isTopLevelRoot())
  2609.          {
  2610.             return false;
  2611.          }
  2612.          var _loc3_:Object = null;
  2613.          var _loc4_:String = null;
  2614.          if(param1.data.window)
  2615.          {
  2616.             _loc3_ = param1.data.window;
  2617.             param1.data.window = null;
  2618.          }
  2619.          else
  2620.          {
  2621.             _loc3_ = param1.requestor;
  2622.             _loc4_ = param1.data.placeHolderId;
  2623.             param1.data.placeHolderId = NameUtil.displayObjectToString(this) + "." + param1.data.placeHolderId;
  2624.          }
  2625.          if(param2)
  2626.          {
  2627.             addPlaceholderId(param1.data.placeHolderId,_loc4_,param1.requestor,_loc3_);
  2628.          }
  2629.          else
  2630.          {
  2631.             removePlaceholderId(param1.data.placeHolderId);
  2632.          }
  2633.          var _loc5_:DisplayObject = getSandboxRoot();
  2634.          var _loc6_:IEventDispatcher = swfBridgeGroup.parentBridge;
  2635.          param1.requestor = _loc6_;
  2636.          if(_loc5_ == this)
  2637.          {
  2638.             _loc6_.dispatchEvent(param1);
  2639.          }
  2640.          else
  2641.          {
  2642.             _loc5_.dispatchEvent(param1);
  2643.          }
  2644.          return true;
  2645.       }
  2646.       
  2647.       public function getTopLevelRoot() : DisplayObject
  2648.       {
  2649.          var sm:ISystemManager = null;
  2650.          var parent:DisplayObject = null;
  2651.          var lastParent:DisplayObject = null;
  2652.          try
  2653.          {
  2654.             sm = this;
  2655.             if(sm.topLevelSystemManager)
  2656.             {
  2657.                sm = sm.topLevelSystemManager;
  2658.             }
  2659.             parent = DisplayObject(sm).parent;
  2660.             lastParent = parent;
  2661.             while(parent)
  2662.             {
  2663.                if(parent is Stage)
  2664.                {
  2665.                   return lastParent;
  2666.                }
  2667.                lastParent = parent;
  2668.                parent = parent.parent;
  2669.             }
  2670.          }
  2671.          catch(error:SecurityError)
  2672.          {
  2673.          }
  2674.          return null;
  2675.       }
  2676.       
  2677.       override public function removeEventListener(param1:String, param2:Function, param3:Boolean = false) : void
  2678.       {
  2679.          var newListener:StageEventProxy = null;
  2680.          var actualType:String = null;
  2681.          var type:String = param1;
  2682.          var listener:Function = param2;
  2683.          var useCapture:Boolean = param3;
  2684.          if(type == FlexEvent.RENDER || type == FlexEvent.ENTER_FRAME)
  2685.          {
  2686.             if(type == FlexEvent.RENDER)
  2687.             {
  2688.                type = Event.RENDER;
  2689.             }
  2690.             else
  2691.             {
  2692.                type = Event.ENTER_FRAME;
  2693.             }
  2694.             try
  2695.             {
  2696.                if(stage)
  2697.                {
  2698.                   stage.removeEventListener(type,listener,useCapture);
  2699.                }
  2700.                super.removeEventListener(type,listener,useCapture);
  2701.             }
  2702.             catch(error:SecurityError)
  2703.             {
  2704.                super.removeEventListener(type,listener,useCapture);
  2705.             }
  2706.             return;
  2707.          }
  2708.          if(type == MouseEvent.MOUSE_MOVE || type == MouseEvent.MOUSE_UP || type == MouseEvent.MOUSE_DOWN || type == Event.ACTIVATE || type == Event.DEACTIVATE)
  2709.          {
  2710.             try
  2711.             {
  2712.                if(stage)
  2713.                {
  2714.                   newListener = weakReferenceProxies[listener];
  2715.                   if(!newListener)
  2716.                   {
  2717.                      newListener = strongReferenceProxies[listener];
  2718.                      if(newListener)
  2719.                      {
  2720.                         delete strongReferenceProxies[listener];
  2721.                      }
  2722.                   }
  2723.                   if(newListener)
  2724.                   {
  2725.                      stage.removeEventListener(type,newListener.stageListener,false);
  2726.                   }
  2727.                }
  2728.             }
  2729.             catch(error:SecurityError)
  2730.             {
  2731.             }
  2732.          }
  2733.          if(hasSWFBridges() || SystemManagerGlobals.topLevelSystemManagers.length > 1)
  2734.          {
  2735.             actualType = EventUtil.sandboxMouseEventMap[type];
  2736.             if(actualType)
  2737.             {
  2738.                if(getSandboxRoot() == this && Boolean(eventProxy))
  2739.                {
  2740.                   super.removeEventListener(actualType,eventProxy.marshalListener,useCapture);
  2741.                }
  2742.                if(!SystemManagerGlobals.changingListenersInOtherSystemManagers)
  2743.                {
  2744.                   removeEventListenerFromOtherSystemManagers(type,otherSystemManagerMouseListener,useCapture);
  2745.                }
  2746.                removeEventListenerFromSandboxes(type,sandboxMouseListener,useCapture);
  2747.                super.removeEventListener(type,listener,false);
  2748.                return;
  2749.             }
  2750.          }
  2751.          if(type == FlexEvent.IDLE)
  2752.          {
  2753.             super.removeEventListener(type,listener,useCapture);
  2754.             if(!hasEventListener(FlexEvent.IDLE) && Boolean(idleTimer))
  2755.             {
  2756.                idleTimer.stop();
  2757.                idleTimer = null;
  2758.                removeEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
  2759.                removeEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);
  2760.             }
  2761.          }
  2762.          else
  2763.          {
  2764.             super.removeEventListener(type,listener,useCapture);
  2765.          }
  2766.       }
  2767.       
  2768.       private function extraFrameHandler(param1:Event = null) : void
  2769.       {
  2770.          var _loc3_:Class = null;
  2771.          var _loc2_:Object = info()["frames"];
  2772.          if(Boolean(_loc2_) && Boolean(_loc2_[currentLabel]))
  2773.          {
  2774.             _loc3_ = Class(getDefinitionByName(_loc2_[currentLabel]));
  2775.             _loc3_["frame"](this);
  2776.          }
  2777.          deferredNextFrame();
  2778.       }
  2779.       
  2780.       public function isTopLevelRoot() : Boolean
  2781.       {
  2782.          return isStageRoot || isBootstrapRoot;
  2783.       }
  2784.       
  2785.       public function get application() : IUIComponent
  2786.       {
  2787.          return IUIComponent(_document);
  2788.       }
  2789.       
  2790.       override public function removeChildAt(param1:int) : DisplayObject
  2791.       {
  2792.          --mx_internal::noTopMostIndex;
  2793.          return mx_internal::rawChildren_removeChildAt(mx_internal::applicationIndex + param1);
  2794.       }
  2795.       
  2796.       mx_internal function rawChildren_removeChildAt(param1:int) : DisplayObject
  2797.       {
  2798.          var _loc2_:DisplayObject = super.getChildAt(param1);
  2799.          mx_internal::removingChild(_loc2_);
  2800.          super.removeChildAt(param1);
  2801.          mx_internal::childRemoved(_loc2_);
  2802.          return _loc2_;
  2803.       }
  2804.       
  2805.       private function getSWFBridgeOfDisplayObject(param1:DisplayObject) : IEventDispatcher
  2806.       {
  2807.          var _loc2_:SWFBridgeRequest = null;
  2808.          var _loc3_:Array = null;
  2809.          var _loc4_:int = 0;
  2810.          var _loc5_:int = 0;
  2811.          var _loc6_:IEventDispatcher = null;
  2812.          var _loc7_:ISWFBridgeProvider = null;
  2813.          if(swfBridgeGroup)
  2814.          {
  2815.             _loc2_ = new SWFBridgeRequest(SWFBridgeRequest.IS_BRIDGE_CHILD_REQUEST,false,false,null,param1);
  2816.             _loc3_ = swfBridgeGroup.getChildBridges();
  2817.             _loc4_ = int(_loc3_.length);
  2818.             _loc5_ = 0;
  2819.             while(_loc5_ < _loc4_)
  2820.             {
  2821.                _loc6_ = IEventDispatcher(_loc3_[_loc5_]);
  2822.                _loc7_ = swfBridgeGroup.getChildBridgeProvider(_loc6_);
  2823.                if(SecurityUtil.hasMutualTrustBetweenParentAndChild(_loc7_))
  2824.                {
  2825.                   _loc6_.dispatchEvent(_loc2_);
  2826.                   if(_loc2_.data == true)
  2827.                   {
  2828.                      return _loc6_;
  2829.                   }
  2830.                   _loc2_.data = param1;
  2831.                }
  2832.                _loc5_++;
  2833.             }
  2834.          }
  2835.          return null;
  2836.       }
  2837.       
  2838.       private function deactivateRequestHandler(param1:Event) : void
  2839.       {
  2840.          var _loc5_:PlaceholderData = null;
  2841.          var _loc6_:RemotePopUp = null;
  2842.          var _loc7_:SystemManagerProxy = null;
  2843.          var _loc8_:IFocusManagerContainer = null;
  2844.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  2845.          var _loc3_:Object = _loc2_.data;
  2846.          var _loc4_:String = null;
  2847.          if(_loc2_.data is String)
  2848.          {
  2849.             _loc5_ = idToPlaceholder[_loc2_.data];
  2850.             _loc3_ = _loc5_.data;
  2851.             _loc4_ = _loc5_.id;
  2852.             if(_loc4_ == null)
  2853.             {
  2854.                _loc6_ = findRemotePopUp(_loc3_,_loc5_.bridge);
  2855.                if(_loc6_)
  2856.                {
  2857.                   deactivateRemotePopUp(_loc6_);
  2858.                   return;
  2859.                }
  2860.             }
  2861.          }
  2862.          if(_loc3_ is SystemManagerProxy)
  2863.          {
  2864.             _loc7_ = SystemManagerProxy(_loc3_);
  2865.             _loc8_ = mx_internal::findFocusManagerContainer(_loc7_);
  2866.             if(Boolean(_loc7_) && Boolean(_loc8_))
  2867.             {
  2868.                _loc7_.deactivateByProxy(_loc8_);
  2869.             }
  2870.          }
  2871.          else
  2872.          {
  2873.             if(!(_loc3_ is IFocusManagerContainer))
  2874.             {
  2875.                if(_loc3_ is IEventDispatcher)
  2876.                {
  2877.                   _loc2_.data = _loc4_;
  2878.                   _loc2_.requestor = IEventDispatcher(_loc3_);
  2879.                   IEventDispatcher(_loc3_).dispatchEvent(_loc2_);
  2880.                   return;
  2881.                }
  2882.                throw new Error();
  2883.             }
  2884.             IFocusManagerContainer(_loc3_).focusManager.deactivate();
  2885.          }
  2886.       }
  2887.       
  2888.       private function installCompiledResourceBundles() : void
  2889.       {
  2890.          var _loc1_:Object = this.info();
  2891.          var _loc2_:ApplicationDomain = !mx_internal::topLevel && parent is Loader ? Loader(parent).contentLoaderInfo.applicationDomain : _loc1_["currentDomain"];
  2892.          var _loc3_:Array = _loc1_["compiledLocales"];
  2893.          var _loc4_:Array = _loc1_["compiledResourceBundleNames"];
  2894.          var _loc5_:IResourceManager = ResourceManager.getInstance();
  2895.          _loc5_.installCompiledResourceBundles(_loc2_,_loc3_,_loc4_);
  2896.          if(!_loc5_.localeChain)
  2897.          {
  2898.             _loc5_.initializeLocaleChain(_loc3_);
  2899.          }
  2900.       }
  2901.       
  2902.       private function deactivateForm(param1:Object) : void
  2903.       {
  2904.          if(form)
  2905.          {
  2906.             if(form == param1 && forms.length > 1)
  2907.             {
  2908.                if(isRemotePopUp(form))
  2909.                {
  2910.                   deactivateRemotePopUp(form);
  2911.                }
  2912.                else
  2913.                {
  2914.                   form.focusManager.deactivate();
  2915.                }
  2916.                form = findLastActiveForm(param1);
  2917.                if(form)
  2918.                {
  2919.                   if(isRemotePopUp(form))
  2920.                   {
  2921.                      activateRemotePopUp(form);
  2922.                   }
  2923.                   else
  2924.                   {
  2925.                      form.focusManager.activate();
  2926.                   }
  2927.                }
  2928.             }
  2929.          }
  2930.       }
  2931.       
  2932.       private function unloadHandler(param1:Event) : void
  2933.       {
  2934.          dispatchEvent(param1);
  2935.       }
  2936.       
  2937.       mx_internal function removingChild(param1:DisplayObject) : void
  2938.       {
  2939.          param1.dispatchEvent(new FlexEvent(FlexEvent.REMOVE));
  2940.       }
  2941.       
  2942.       mx_internal function get applicationIndex() : int
  2943.       {
  2944.          return _applicationIndex;
  2945.       }
  2946.       
  2947.       mx_internal function set toolTipIndex(param1:int) : void
  2948.       {
  2949.          var _loc2_:int = param1 - _toolTipIndex;
  2950.          _toolTipIndex = param1;
  2951.          mx_internal::cursorIndex += _loc2_;
  2952.       }
  2953.       
  2954.       private function hasSWFBridges() : Boolean
  2955.       {
  2956.          if(swfBridgeGroup)
  2957.          {
  2958.             return true;
  2959.          }
  2960.          return false;
  2961.       }
  2962.       
  2963.       private function updateLastActiveForm() : void
  2964.       {
  2965.          var _loc1_:int = int(forms.length);
  2966.          if(_loc1_ < 2)
  2967.          {
  2968.             return;
  2969.          }
  2970.          var _loc2_:int = -1;
  2971.          var _loc3_:int = 0;
  2972.          while(_loc3_ < _loc1_)
  2973.          {
  2974.             if(areFormsEqual(form,forms[_loc3_]))
  2975.             {
  2976.                _loc2_ = _loc3_;
  2977.                break;
  2978.             }
  2979.             _loc3_++;
  2980.          }
  2981.          if(_loc2_ >= 0)
  2982.          {
  2983.             forms.splice(_loc2_,1);
  2984.             forms.push(form);
  2985.             return;
  2986.          }
  2987.          throw new Error();
  2988.       }
  2989.       
  2990.       public function get cursorChildren() : IChildList
  2991.       {
  2992.          if(!mx_internal::topLevel)
  2993.          {
  2994.             return _topLevelSystemManager.cursorChildren;
  2995.          }
  2996.          if(!_cursorChildren)
  2997.          {
  2998.             _cursorChildren = new SystemChildrenList(this,new QName(mx_internal,"toolTipIndex"),new QName(mx_internal,"cursorIndex"));
  2999.          }
  3000.          return _cursorChildren;
  3001.       }
  3002.       
  3003.       private function sandboxMouseListener(param1:Event) : void
  3004.       {
  3005.          if(param1 is SandboxMouseEvent)
  3006.          {
  3007.             return;
  3008.          }
  3009.          var _loc2_:Event = SandboxMouseEvent.marshal(param1);
  3010.          dispatchEventFromSWFBridges(_loc2_,param1.target as IEventDispatcher);
  3011.          var _loc3_:InterManagerRequest = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST);
  3012.          _loc3_.name = "sameSandbox";
  3013.          _loc3_.value = param1;
  3014.          getSandboxRoot().dispatchEvent(_loc3_);
  3015.          if(!_loc3_.value)
  3016.          {
  3017.             dispatchEvent(_loc2_);
  3018.          }
  3019.       }
  3020.       
  3021.       public function get preloaderBackgroundImage() : Object
  3022.       {
  3023.          return info()["backgroundImage"];
  3024.       }
  3025.       
  3026.       public function set numModalWindows(param1:int) : void
  3027.       {
  3028.          _numModalWindows = param1;
  3029.       }
  3030.       
  3031.       public function get preloaderBackgroundAlpha() : Number
  3032.       {
  3033.          return info()["backgroundAlpha"];
  3034.       }
  3035.       
  3036.       mx_internal function rawChildren_getChildByName(param1:String) : DisplayObject
  3037.       {
  3038.          return super.getChildByName(param1);
  3039.       }
  3040.       
  3041.       private function dispatchInvalidateRequest() : void
  3042.       {
  3043.          var _loc1_:IEventDispatcher = swfBridgeGroup.parentBridge;
  3044.          var _loc2_:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.INVALIDATE_REQUEST,false,false,_loc1_,InvalidateRequestData.SIZE | InvalidateRequestData.DISPLAY_LIST);
  3045.          _loc1_.dispatchEvent(_loc2_);
  3046.       }
  3047.       
  3048.       public function get preloaderBackgroundColor() : uint
  3049.       {
  3050.          var _loc1_:* = info()["backgroundColor"];
  3051.          if(_loc1_ == undefined)
  3052.          {
  3053.             return StyleManager.NOT_A_COLOR;
  3054.          }
  3055.          return StyleManager.getColorName(_loc1_);
  3056.       }
  3057.       
  3058.       public function getVisibleApplicationRect(param1:Rectangle = null) : Rectangle
  3059.       {
  3060.          var _loc2_:Rectangle = null;
  3061.          var _loc3_:Point = null;
  3062.          var _loc4_:IEventDispatcher = null;
  3063.          var _loc5_:SWFBridgeRequest = null;
  3064.          if(!param1)
  3065.          {
  3066.             param1 = getBounds(DisplayObject(this));
  3067.             _loc2_ = screen;
  3068.             _loc3_ = new Point(Math.max(0,param1.x),Math.max(0,param1.y));
  3069.             _loc3_ = localToGlobal(_loc3_);
  3070.             param1.x = _loc3_.x;
  3071.             param1.y = _loc3_.y;
  3072.             param1.width = _loc2_.width;
  3073.             param1.height = _loc2_.height;
  3074.          }
  3075.          if(useSWFBridge())
  3076.          {
  3077.             _loc4_ = swfBridgeGroup.parentBridge;
  3078.             _loc5_ = new SWFBridgeRequest(SWFBridgeRequest.GET_VISIBLE_RECT_REQUEST,false,false,_loc4_,param1);
  3079.             _loc4_.dispatchEvent(_loc5_);
  3080.             param1 = Rectangle(_loc5_.data);
  3081.          }
  3082.          return param1;
  3083.       }
  3084.       
  3085.       public function get topLevelSystemManager() : ISystemManager
  3086.       {
  3087.          if(mx_internal::topLevel)
  3088.          {
  3089.             return this;
  3090.          }
  3091.          return _topLevelSystemManager;
  3092.       }
  3093.       
  3094.       private function appCreationCompleteHandler(param1:FlexEvent) : void
  3095.       {
  3096.          var _loc2_:DisplayObjectContainer = null;
  3097.          if(!mx_internal::topLevel && Boolean(parent))
  3098.          {
  3099.             _loc2_ = parent.parent;
  3100.             while(_loc2_)
  3101.             {
  3102.                if(_loc2_ is IInvalidating)
  3103.                {
  3104.                   IInvalidating(_loc2_).invalidateSize();
  3105.                   IInvalidating(_loc2_).invalidateDisplayList();
  3106.                   return;
  3107.                }
  3108.                _loc2_ = _loc2_.parent;
  3109.             }
  3110.          }
  3111.          if(mx_internal::topLevel && useSWFBridge())
  3112.          {
  3113.             dispatchInvalidateRequest();
  3114.          }
  3115.       }
  3116.       
  3117.       public function addChildToSandboxRoot(param1:String, param2:DisplayObject) : void
  3118.       {
  3119.          var _loc3_:InterManagerRequest = null;
  3120.          if(getSandboxRoot() == this)
  3121.          {
  3122.             this[param1].addChild(param2);
  3123.          }
  3124.          else
  3125.          {
  3126.             mx_internal::addingChild(param2);
  3127.             _loc3_ = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST);
  3128.             _loc3_.name = param1 + ".addChild";
  3129.             _loc3_.value = param2;
  3130.             getSandboxRoot().dispatchEvent(_loc3_);
  3131.             mx_internal::childAdded(param2);
  3132.          }
  3133.       }
  3134.       
  3135.       private function dispatchDeactivatedWindowEvent(param1:DisplayObject) : void
  3136.       {
  3137.          var _loc3_:DisplayObject = null;
  3138.          var _loc4_:* = false;
  3139.          var _loc5_:SWFBridgeEvent = null;
  3140.          var _loc2_:IEventDispatcher = !!swfBridgeGroup ? swfBridgeGroup.parentBridge : null;
  3141.          if(_loc2_)
  3142.          {
  3143.             _loc3_ = getSandboxRoot();
  3144.             _loc4_ = _loc3_ != this;
  3145.             _loc5_ = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_WINDOW_DEACTIVATE,false,false,{
  3146.                "notifier":_loc2_,
  3147.                "window":(_loc4_ ? param1 : NameUtil.displayObjectToString(param1))
  3148.             });
  3149.             if(_loc4_)
  3150.             {
  3151.                _loc3_.dispatchEvent(_loc5_);
  3152.             }
  3153.             else
  3154.             {
  3155.                _loc2_.dispatchEvent(_loc5_);
  3156.             }
  3157.          }
  3158.       }
  3159.       
  3160.       private function isBridgeChildHandler(param1:Event) : void
  3161.       {
  3162.          if(param1 is SWFBridgeRequest)
  3163.          {
  3164.             return;
  3165.          }
  3166.          var _loc2_:Object = Object(param1);
  3167.          _loc2_.data = _loc2_.data && rawChildren.contains(_loc2_.data as DisplayObject);
  3168.       }
  3169.       
  3170.       public function get measuredHeight() : Number
  3171.       {
  3172.          return !!mx_internal::topLevelWindow ? mx_internal::topLevelWindow.getExplicitOrMeasuredHeight() : loaderInfo.height;
  3173.       }
  3174.       
  3175.       private function activateRequestHandler(param1:Event) : void
  3176.       {
  3177.          var _loc5_:PlaceholderData = null;
  3178.          var _loc6_:RemotePopUp = null;
  3179.          var _loc7_:SystemManagerProxy = null;
  3180.          var _loc8_:IFocusManagerContainer = null;
  3181.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  3182.          var _loc3_:Object = _loc2_.data;
  3183.          var _loc4_:String = null;
  3184.          if(_loc2_.data is String)
  3185.          {
  3186.             _loc5_ = idToPlaceholder[_loc2_.data];
  3187.             _loc3_ = _loc5_.data;
  3188.             _loc4_ = _loc5_.id;
  3189.             if(_loc4_ == null)
  3190.             {
  3191.                _loc6_ = findRemotePopUp(_loc3_,_loc5_.bridge);
  3192.                if(_loc6_)
  3193.                {
  3194.                   activateRemotePopUp(_loc6_);
  3195.                   return;
  3196.                }
  3197.             }
  3198.          }
  3199.          if(_loc3_ is SystemManagerProxy)
  3200.          {
  3201.             _loc7_ = SystemManagerProxy(_loc3_);
  3202.             _loc8_ = mx_internal::findFocusManagerContainer(_loc7_);
  3203.             if(Boolean(_loc7_) && Boolean(_loc8_))
  3204.             {
  3205.                _loc7_.activateByProxy(_loc8_);
  3206.             }
  3207.          }
  3208.          else if(_loc3_ is IFocusManagerContainer)
  3209.          {
  3210.             IFocusManagerContainer(_loc3_).focusManager.activate();
  3211.          }
  3212.          else
  3213.          {
  3214.             if(!(_loc3_ is IEventDispatcher))
  3215.             {
  3216.                throw new Error();
  3217.             }
  3218.             _loc2_.data = _loc4_;
  3219.             _loc2_.requestor = IEventDispatcher(_loc3_);
  3220.             IEventDispatcher(_loc3_).dispatchEvent(_loc2_);
  3221.          }
  3222.       }
  3223.       
  3224.       mx_internal function rawChildren_addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  3225.       {
  3226.          mx_internal::addingChild(param1);
  3227.          super.addChildAt(param1,param2);
  3228.          mx_internal::childAdded(param1);
  3229.          return param1;
  3230.       }
  3231.       
  3232.       mx_internal function initialize() : void
  3233.       {
  3234.          var _loc6_:int = 0;
  3235.          var _loc7_:int = 0;
  3236.          var _loc9_:EmbeddedFontRegistry = null;
  3237.          var _loc13_:Class = null;
  3238.          var _loc14_:Object = null;
  3239.          var _loc15_:RSLItem = null;
  3240.          if(isStageRoot)
  3241.          {
  3242.             _width = stage.stageWidth;
  3243.             _height = stage.stageHeight;
  3244.          }
  3245.          else
  3246.          {
  3247.             _width = loaderInfo.width;
  3248.             _height = loaderInfo.height;
  3249.          }
  3250.          preloader = new Preloader();
  3251.          preloader.addEventListener(FlexEvent.INIT_PROGRESS,preloader_initProgressHandler);
  3252.          preloader.addEventListener(FlexEvent.PRELOADER_DONE,preloader_preloaderDoneHandler);
  3253.          if(!_popUpChildren)
  3254.          {
  3255.             _popUpChildren = new SystemChildrenList(this,new QName(mx_internal,"noTopMostIndex"),new QName(mx_internal,"topMostIndex"));
  3256.          }
  3257.          _popUpChildren.addChild(preloader);
  3258.          var _loc1_:Array = info()["rsls"];
  3259.          var _loc2_:Array = info()["cdRsls"];
  3260.          var _loc3_:Boolean = true;
  3261.          if(info()["usePreloader"] != undefined)
  3262.          {
  3263.             _loc3_ = Boolean(info()["usePreloader"]);
  3264.          }
  3265.          var _loc4_:Class = info()["preloader"] as Class;
  3266.          if(_loc3_ && !_loc4_)
  3267.          {
  3268.             _loc4_ = DownloadProgressBar;
  3269.          }
  3270.          var _loc5_:Array = [];
  3271.          if(Boolean(_loc2_) && _loc2_.length > 0)
  3272.          {
  3273.             _loc13_ = Class(getDefinitionByName("mx.core::CrossDomainRSLItem"));
  3274.             _loc6_ = int(_loc2_.length);
  3275.             _loc7_ = 0;
  3276.             while(_loc7_ < _loc6_)
  3277.             {
  3278.                _loc14_ = new _loc13_(_loc2_[_loc7_]["rsls"],_loc2_[_loc7_]["policyFiles"],_loc2_[_loc7_]["digests"],_loc2_[_loc7_]["types"],_loc2_[_loc7_]["isSigned"],this.loaderInfo.url);
  3279.                _loc5_.push(_loc14_);
  3280.                _loc7_++;
  3281.             }
  3282.          }
  3283.          if(_loc1_ != null && _loc1_.length > 0)
  3284.          {
  3285.             _loc6_ = int(_loc1_.length);
  3286.             _loc7_ = 0;
  3287.             while(_loc7_ < _loc6_)
  3288.             {
  3289.                _loc15_ = new RSLItem(_loc1_[_loc7_].url,this.loaderInfo.url);
  3290.                _loc5_.push(_loc15_);
  3291.                _loc7_++;
  3292.             }
  3293.          }
  3294.          Singleton.registerClass("mx.resources::IResourceManager",Class(getDefinitionByName("mx.resources::ResourceManagerImpl")));
  3295.          var _loc8_:IResourceManager = ResourceManager.getInstance();
  3296.          Singleton.registerClass("mx.core::IEmbeddedFontRegistry",Class(getDefinitionByName("mx.core::EmbeddedFontRegistry")));
  3297.          Singleton.registerClass("mx.styles::IStyleManager",Class(getDefinitionByName("mx.styles::StyleManagerImpl")));
  3298.          Singleton.registerClass("mx.styles::IStyleManager2",Class(getDefinitionByName("mx.styles::StyleManagerImpl")));
  3299.          var _loc10_:String = loaderInfo.parameters["localeChain"];
  3300.          if(_loc10_ != null && _loc10_ != "")
  3301.          {
  3302.             _loc8_.localeChain = _loc10_.split(",");
  3303.          }
  3304.          var _loc11_:String = loaderInfo.parameters["resourceModuleURLs"];
  3305.          var _loc12_:Array = !!_loc11_ ? _loc11_.split(",") : null;
  3306.          preloader.initialize(_loc3_,_loc4_,preloaderBackgroundColor,preloaderBackgroundAlpha,preloaderBackgroundImage,preloaderBackgroundSize,isStageRoot ? stage.stageWidth : loaderInfo.width,isStageRoot ? stage.stageHeight : loaderInfo.height,null,null,_loc5_,_loc12_);
  3307.       }
  3308.       
  3309.       public function useSWFBridge() : Boolean
  3310.       {
  3311.          if(isStageRoot)
  3312.          {
  3313.             return false;
  3314.          }
  3315.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  3316.          {
  3317.             return topLevelSystemManager.useSWFBridge();
  3318.          }
  3319.          if(mx_internal::topLevel && getSandboxRoot() != this)
  3320.          {
  3321.             return true;
  3322.          }
  3323.          if(getSandboxRoot() == this)
  3324.          {
  3325.             try
  3326.             {
  3327.                root.loaderInfo.parentAllowsChild;
  3328.                if(!(parentAllowsChild && childAllowsParent))
  3329.                {
  3330.                   return true;
  3331.                }
  3332.                try
  3333.                {
  3334.                   if(!parent.dispatchEvent(new Event("mx.managers.SystemManager.isStageRoot",false,true)))
  3335.                   {
  3336.                      return true;
  3337.                   }
  3338.                }
  3339.                catch(e:Error)
  3340.                {
  3341.                }
  3342.             }
  3343.             catch(e1:Error)
  3344.             {
  3345.                return false;
  3346.             }
  3347.          }
  3348.          return false;
  3349.       }
  3350.       
  3351.       mx_internal function childRemoved(param1:DisplayObject) : void
  3352.       {
  3353.          if(param1 is IUIComponent)
  3354.          {
  3355.             IUIComponent(param1).parentChanged(null);
  3356.          }
  3357.       }
  3358.       
  3359.       final mx_internal function $removeChildAt(param1:int) : DisplayObject
  3360.       {
  3361.          return super.removeChildAt(param1);
  3362.       }
  3363.       
  3364.       private function canActivatePopUp(param1:Object) : Boolean
  3365.       {
  3366.          var _loc2_:RemotePopUp = null;
  3367.          var _loc3_:SWFBridgeRequest = null;
  3368.          if(isRemotePopUp(param1))
  3369.          {
  3370.             _loc2_ = RemotePopUp(param1);
  3371.             _loc3_ = new SWFBridgeRequest(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,false,false,null,_loc2_.window);
  3372.             IEventDispatcher(_loc2_.bridge).dispatchEvent(_loc3_);
  3373.             return _loc3_.data;
  3374.          }
  3375.          if(canActivateLocalComponent(param1))
  3376.          {
  3377.             return true;
  3378.          }
  3379.          return false;
  3380.       }
  3381.       
  3382.       mx_internal function get noTopMostIndex() : int
  3383.       {
  3384.          return _noTopMostIndex;
  3385.       }
  3386.       
  3387.       override public function get numChildren() : int
  3388.       {
  3389.          return mx_internal::noTopMostIndex - mx_internal::applicationIndex;
  3390.       }
  3391.       
  3392.       private function canActivateLocalComponent(param1:Object) : Boolean
  3393.       {
  3394.          if(param1 is Sprite && param1 is IUIComponent && Sprite(param1).visible && IUIComponent(param1).enabled)
  3395.          {
  3396.             return true;
  3397.          }
  3398.          return false;
  3399.       }
  3400.       
  3401.       private function preloader_preloaderDoneHandler(param1:Event) : void
  3402.       {
  3403.          var _loc2_:IUIComponent = mx_internal::topLevelWindow;
  3404.          preloader.removeEventListener(FlexEvent.PRELOADER_DONE,preloader_preloaderDoneHandler);
  3405.          _popUpChildren.removeChild(preloader);
  3406.          preloader = null;
  3407.          mouseCatcher = new FlexSprite();
  3408.          mouseCatcher.name = "mouseCatcher";
  3409.          ++mx_internal::noTopMostIndex;
  3410.          super.addChildAt(mouseCatcher,0);
  3411.          resizeMouseCatcher();
  3412.          if(!mx_internal::topLevel)
  3413.          {
  3414.             mouseCatcher.visible = false;
  3415.             mask = mouseCatcher;
  3416.          }
  3417.          ++mx_internal::noTopMostIndex;
  3418.          super.addChildAt(DisplayObject(_loc2_),1);
  3419.          _loc2_.dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE));
  3420.          dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE));
  3421.       }
  3422.       
  3423.       private function initializeTopLevelWindow(param1:Event) : void
  3424.       {
  3425.          var _loc2_:IUIComponent = null;
  3426.          var _loc3_:DisplayObjectContainer = null;
  3427.          var _loc4_:ISystemManager = null;
  3428.          var _loc5_:DisplayObject = null;
  3429.          initialized = true;
  3430.          if(!parent && parentAllowsChild)
  3431.          {
  3432.             return;
  3433.          }
  3434.          if(!mx_internal::topLevel)
  3435.          {
  3436.             _loc3_ = parent.parent;
  3437.             if(!_loc3_)
  3438.             {
  3439.                return;
  3440.             }
  3441.             while(_loc3_)
  3442.             {
  3443.                if(_loc3_ is IUIComponent)
  3444.                {
  3445.                   _loc4_ = IUIComponent(_loc3_).systemManager;
  3446.                   if((Boolean(_loc4_)) && !_loc4_.isTopLevel())
  3447.                   {
  3448.                      _loc4_ = _loc4_.topLevelSystemManager;
  3449.                   }
  3450.                   _topLevelSystemManager = _loc4_;
  3451.                   break;
  3452.                }
  3453.                _loc3_ = _loc3_.parent;
  3454.             }
  3455.          }
  3456.          if(isTopLevelRoot() || getSandboxRoot() == this)
  3457.          {
  3458.             addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler,true);
  3459.          }
  3460.          if(isTopLevelRoot() && Boolean(stage))
  3461.          {
  3462.             stage.addEventListener(Event.RESIZE,Stage_resizeHandler,false,0,true);
  3463.          }
  3464.          else if(mx_internal::topLevel && Boolean(stage))
  3465.          {
  3466.             _loc5_ = getSandboxRoot();
  3467.             if(_loc5_ != this)
  3468.             {
  3469.                _loc5_.addEventListener(Event.RESIZE,Stage_resizeHandler,false,0,true);
  3470.             }
  3471.          }
  3472.          document = _loc2_ = mx_internal::topLevelWindow = IUIComponent(create());
  3473.          if(document)
  3474.          {
  3475.             IEventDispatcher(_loc2_).addEventListener(FlexEvent.CREATION_COMPLETE,appCreationCompleteHandler);
  3476.             if(!LoaderConfig.mx_internal::_url)
  3477.             {
  3478.                LoaderConfig.mx_internal::_url = loaderInfo.url;
  3479.                LoaderConfig.mx_internal::_parameters = loaderInfo.parameters;
  3480.             }
  3481.             if(isStageRoot && Boolean(stage))
  3482.             {
  3483.                _width = stage.stageWidth;
  3484.                _height = stage.stageHeight;
  3485.                IFlexDisplayObject(_loc2_).setActualSize(_width,_height);
  3486.             }
  3487.             else
  3488.             {
  3489.                IFlexDisplayObject(_loc2_).setActualSize(loaderInfo.width,loaderInfo.height);
  3490.             }
  3491.             if(preloader)
  3492.             {
  3493.                preloader.registerApplication(_loc2_);
  3494.             }
  3495.             mx_internal::addingChild(DisplayObject(_loc2_));
  3496.             mx_internal::childAdded(DisplayObject(_loc2_));
  3497.          }
  3498.          else
  3499.          {
  3500.             document = this;
  3501.          }
  3502.       }
  3503.       
  3504.       final mx_internal function $addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  3505.       {
  3506.          return super.addChildAt(param1,param2);
  3507.       }
  3508.       
  3509.       mx_internal function dispatchActivatedWindowEvent(param1:DisplayObject) : void
  3510.       {
  3511.          var _loc3_:DisplayObject = null;
  3512.          var _loc4_:* = false;
  3513.          var _loc5_:SWFBridgeEvent = null;
  3514.          var _loc2_:IEventDispatcher = !!swfBridgeGroup ? swfBridgeGroup.parentBridge : null;
  3515.          if(_loc2_)
  3516.          {
  3517.             _loc3_ = getSandboxRoot();
  3518.             _loc4_ = _loc3_ != this;
  3519.             _loc5_ = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_WINDOW_ACTIVATE,false,false,{
  3520.                "notifier":_loc2_,
  3521.                "window":(_loc4_ ? param1 : NameUtil.displayObjectToString(param1))
  3522.             });
  3523.             if(_loc4_)
  3524.             {
  3525.                _loc3_.dispatchEvent(_loc5_);
  3526.             }
  3527.             else
  3528.             {
  3529.                _loc2_.dispatchEvent(_loc5_);
  3530.             }
  3531.          }
  3532.       }
  3533.       
  3534.       private function nextFrameTimerHandler(param1:TimerEvent) : void
  3535.       {
  3536.          if(currentFrame + 1 <= framesLoaded)
  3537.          {
  3538.             nextFrame();
  3539.             nextFrameTimer.removeEventListener(TimerEvent.TIMER,nextFrameTimerHandler);
  3540.             nextFrameTimer.reset();
  3541.          }
  3542.       }
  3543.       
  3544.       public function get numModalWindows() : int
  3545.       {
  3546.          return _numModalWindows;
  3547.       }
  3548.       
  3549.       private function areFormsEqual(param1:Object, param2:Object) : Boolean
  3550.       {
  3551.          if(param1 == param2)
  3552.          {
  3553.             return true;
  3554.          }
  3555.          if(param1 is RemotePopUp && param2 is RemotePopUp)
  3556.          {
  3557.             return areRemotePopUpsEqual(param1,param2);
  3558.          }
  3559.          return false;
  3560.       }
  3561.       
  3562.       public function isTopLevelWindow(param1:DisplayObject) : Boolean
  3563.       {
  3564.          return param1 is IUIComponent && IUIComponent(param1) == mx_internal::topLevelWindow;
  3565.       }
  3566.       
  3567.       private function removePlaceholderId(param1:String) : void
  3568.       {
  3569.          delete idToPlaceholder[param1];
  3570.       }
  3571.       
  3572.       override public function get width() : Number
  3573.       {
  3574.          return _width;
  3575.       }
  3576.       
  3577.       private function dispatchActivatedApplicationEvent() : void
  3578.       {
  3579.          var _loc2_:SWFBridgeEvent = null;
  3580.          var _loc1_:IEventDispatcher = !!swfBridgeGroup ? swfBridgeGroup.parentBridge : null;
  3581.          if(_loc1_)
  3582.          {
  3583.             _loc2_ = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_APPLICATION_ACTIVATE,false,false);
  3584.             _loc1_.dispatchEvent(_loc2_);
  3585.          }
  3586.       }
  3587.       
  3588.       private function otherSystemManagerMouseListener(param1:SandboxMouseEvent) : void
  3589.       {
  3590.          if(dispatchingToSystemManagers)
  3591.          {
  3592.             return;
  3593.          }
  3594.          dispatchEventFromSWFBridges(param1);
  3595.          var _loc2_:InterManagerRequest = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST);
  3596.          _loc2_.name = "sameSandbox";
  3597.          _loc2_.value = param1;
  3598.          getSandboxRoot().dispatchEvent(_loc2_);
  3599.          if(!_loc2_.value)
  3600.          {
  3601.             dispatchEvent(param1);
  3602.          }
  3603.       }
  3604.       
  3605.       private function hideMouseCursorRequestHandler(param1:Event) : void
  3606.       {
  3607.          var _loc3_:IEventDispatcher = null;
  3608.          if(!isTopLevelRoot() && param1 is SWFBridgeRequest)
  3609.          {
  3610.             return;
  3611.          }
  3612.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  3613.          if(!isTopLevelRoot())
  3614.          {
  3615.             _loc3_ = swfBridgeGroup.parentBridge;
  3616.             _loc2_.requestor = _loc3_;
  3617.             _loc3_.dispatchEvent(_loc2_);
  3618.          }
  3619.          else if(eventProxy)
  3620.          {
  3621.             SystemManagerGlobals.showMouseCursor = false;
  3622.          }
  3623.       }
  3624.       
  3625.       private function getTopLevelSystemManager(param1:DisplayObject) : ISystemManager
  3626.       {
  3627.          var _loc3_:ISystemManager = null;
  3628.          var _loc2_:DisplayObjectContainer = DisplayObjectContainer(param1.root);
  3629.          if((!_loc2_ || _loc2_ is Stage) && param1 is IUIComponent)
  3630.          {
  3631.             _loc2_ = DisplayObjectContainer(IUIComponent(param1).systemManager);
  3632.          }
  3633.          if(_loc2_ is ISystemManager)
  3634.          {
  3635.             _loc3_ = ISystemManager(_loc2_);
  3636.             if(!_loc3_.isTopLevel())
  3637.             {
  3638.                _loc3_ = _loc3_.topLevelSystemManager;
  3639.             }
  3640.          }
  3641.          return _loc3_;
  3642.       }
  3643.       
  3644.       public function isDisplayObjectInABridgedApplication(param1:DisplayObject) : Boolean
  3645.       {
  3646.          return getSWFBridgeOfDisplayObject(param1) != null;
  3647.       }
  3648.       
  3649.       public function move(param1:Number, param2:Number) : void
  3650.       {
  3651.       }
  3652.       
  3653.       public function set explicitWidth(param1:Number) : void
  3654.       {
  3655.          _explicitWidth = param1;
  3656.       }
  3657.       
  3658.       public function get parentAllowsChild() : Boolean
  3659.       {
  3660.          try
  3661.          {
  3662.             return loaderInfo.parentAllowsChild;
  3663.          }
  3664.          catch(error:Error)
  3665.          {
  3666.          }
  3667.          return false;
  3668.       }
  3669.       
  3670.       private function preloader_initProgressHandler(param1:Event) : void
  3671.       {
  3672.          preloader.removeEventListener(FlexEvent.INIT_PROGRESS,preloader_initProgressHandler);
  3673.          deferredNextFrame();
  3674.       }
  3675.       
  3676.       public function get explicitWidth() : Number
  3677.       {
  3678.          return _explicitWidth;
  3679.       }
  3680.       
  3681.       private function activateFormSandboxEventHandler(param1:Event) : void
  3682.       {
  3683.          var _loc2_:SWFBridgeEvent = SWFBridgeEvent.marshal(param1);
  3684.          if(!forwardFormEvent(_loc2_))
  3685.          {
  3686.             activateForm(new RemotePopUp(_loc2_.data.window,_loc2_.data.notifier));
  3687.          }
  3688.       }
  3689.       
  3690.       mx_internal function rawChildren_addChild(param1:DisplayObject) : DisplayObject
  3691.       {
  3692.          mx_internal::addingChild(param1);
  3693.          super.addChild(param1);
  3694.          mx_internal::childAdded(param1);
  3695.          return param1;
  3696.       }
  3697.    }
  3698. }
  3699.  
  3700.